Skip to content

Commit

Permalink
Merge pull request #3016 from GEOS-ESM/cleanup/pchakrab/varspec
Browse files Browse the repository at this point in the history
Cleanup for VariableSpec
  • Loading branch information
tclune authored Sep 9, 2024
2 parents 3072c69 + 77e5a63 commit de6c002
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions generic3g/specs/VariableSpec.F90
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ function new_VariableSpec( &
units, substate, itemtype, typekind, vertical_dim_spec, ungridded_dims, default_value, &
service_items, attributes, &
bracket_size, &
dependencies, regrid_param, rc) result(var_spec)
dependencies, regrid_param) result(var_spec)

type(VariableSpec) :: var_spec
type(ESMF_StateIntent_Flag), intent(in) :: state_intent
Expand All @@ -90,7 +90,6 @@ function new_VariableSpec( &
integer, optional, intent(in) :: bracket_size
type(StringVector), optional, intent(in) :: dependencies
type(EsmfRegridderParam), optional, intent(in) :: regrid_param
integer, optional, intent(out) :: rc

type(ESMF_RegridMethod_Flag), allocatable :: regrid_method
integer :: status
Expand All @@ -117,7 +116,7 @@ function new_VariableSpec( &
_SET_OPTIONAL(bracket_size)
_SET_OPTIONAL(dependencies)

call var_spec%set_regrid_param_(regrid_param, _RC)
call var_spec%set_regrid_param_(regrid_param)

_UNUSED_DUMMY(unusable)
end function new_VariableSpec
Expand Down Expand Up @@ -226,35 +225,32 @@ function make_dependencies(this, rc) result(dependencies)
_RETURN(_SUCCESS)
end function make_dependencies

subroutine set_regrid_param_(this, regrid_param, rc)
subroutine set_regrid_param_(this, regrid_param)
class(VariableSpec), intent(inout) :: this
type(EsmfRegridderParam), optional, intent(in) :: regrid_param
integer, optional, intent(out) :: rc

type(ESMF_RegridMethod_Flag) :: regrid_method
integer :: status

if (present(regrid_param)) then
this%regrid_param = regrid_param
_RETURN(_SUCCESS)
return
end if

! if (NUOPC_FieldDictionaryHasEntry(this%standard_name, rc=status)) then
! call NUOPC_FieldDictionaryGetEntry(this%standard_name, regrid_method, rc=status)
! if (status==ESMF_SUCCESS) then
! this%regrid_param = EsmfRegridderParam(regridmethod=regrid_method)
! _RETURN(_SUCCESS)
! return
! end if
! end if
regrid_method = get_regrid_method_from_field_dict_(this%standard_name, rc=status)
if (status==ESMF_SUCCESS) then
this%regrid_param = EsmfRegridderParam(regridmethod=regrid_method)
_RETURN(_SUCCESS)
return
end if

this%regrid_param = EsmfRegridderParam() ! last resort - use default regrid method

_RETURN(_SUCCESS)
end subroutine set_regrid_param_

function get_regrid_method_from_field_dict_(stdname, rc) result(regrid_method)
Expand Down

0 comments on commit de6c002

Please sign in to comment.