anchor.diff:         IF ( ALLOCATED ( Bp           ) )  DEALLOCATE ( Bp           )
          IF ( ALLOCATED ( Temperature  ) )  DEALLOCATE ( Temperature  )
          IF ( ALLOCATED ( Gas_profiles ) )  DEALLOCATE ( Gas_profiles )
  +       IF ( ALLOCATED ( H2O_profiles ) )  DEALLOCATE ( H2O_profiles )
          IF ( ALLOCATED ( Psurface     ) )  DEALLOCATE ( Psurface     )
       CASE DEFAULT
          ! Whatever. Nothing to be done here
  
positive.code:        ALLOCATE (Bp      (CmEp1),                 STAT=estat ) ; errstat = MAX ( errstat, estat )
         ALLOCATE (Temperature (Cmlon, Cmlat, CmETA), STAT=estat ) ; errstat = MAX ( errstat, estat )
         ALLOCATE (Gas_profiles(Cmlon, Cmlat, CmETA), STAT=estat ) ; errstat = MAX ( errstat, estat )
         ALLOCATE (Psurface(Cmlon,Cmlat),            STAT=estat ) ; errstat = MAX ( errstat, estat )
      CASE ('d')
         IF ( ALLOCATED ( latvals      ) )  DEALLOCATE ( latvals      )
  
negative.code:   ! ---------------------------------------
    REAL(KIND=r4), DIMENSION(:),     ALLOCATABLE :: latvals, lonvals, Ap, Bp
    REAL(KIND=r4), DIMENSION(:,:),   ALLOCATABLE :: Psurface
    REAL(KIND=r4), DIMENSION(:,:,:), ALLOCATABLE :: Temperature, Gas_profiles, H2O_profiles
  
    ! ---------------------------------------
    ! Data obtained from Vlidort lookup table
  