Skip to content

Commit 0f25200

Browse files
mjrenomjreno
and
mjreno
authored
fix(netcdf): add all models to model inputs list (#2219)
* add all models to input models list * naming adjustment --------- Co-authored-by: mjreno <mjreno@IGSAAA071L01144.gs.doi.net>
1 parent 783e5d2 commit 0f25200

File tree

3 files changed

+33
-32
lines changed

3 files changed

+33
-32
lines changed

src/Utilities/Export/ModelExport.f90

+7-7
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ end function nc_export_active
7474
!> @brief create export container variable for all local models
7575
!!
7676
subroutine modelexports_create(iout)
77-
use InputLoadTypeModule, only: model_dynamic_pkgs
77+
use InputLoadTypeModule, only: model_inputs
7878
use MemoryManagerModule, only: mem_setptr
7979
use MemoryManagerExtModule, only: mem_set_value
8080
use MemoryHelperModule, only: create_mem_path
@@ -83,31 +83,31 @@ subroutine modelexports_create(iout)
8383
use NCModelExportModule, only: NETCDF_MESH2D, NETCDF_STRUCTURED
8484
use SourceCommonModule, only: file_ext
8585
integer(I4B), intent(in) :: iout
86-
type(ModelDynamicPkgsType), pointer :: model_dynamic_input
86+
type(ModelDynamicPkgsType), pointer :: model_input
8787
type(ExportModelType), pointer :: export_model
8888
character(len=LENMEMPATH) :: modelnam_mempath, model_mempath, ext
8989
integer(I4B), pointer :: disenum
9090
integer(I4B) :: n
9191
logical(LGP) :: found
9292

93-
do n = 1, model_dynamic_pkgs%Count()
93+
do n = 1, model_inputs%Count()
9494
! allocate and initialize
9595
allocate (export_model)
9696

9797
! set pointer to dynamic input model instance
98-
model_dynamic_input => GetDynamicModelFromList(model_dynamic_pkgs, n)
98+
model_input => GetDynamicModelFromList(model_inputs, n)
9999

100100
! set input mempaths
101101
modelnam_mempath = &
102-
create_mem_path(component=model_dynamic_input%modelname, &
102+
create_mem_path(component=model_input%modelname, &
103103
subcomponent='NAM', context=idm_context)
104-
model_mempath = create_mem_path(component=model_dynamic_input%modelname, &
104+
model_mempath = create_mem_path(component=model_input%modelname, &
105105
context=idm_context)
106106
! set pointer to dis enum type
107107
call mem_setptr(disenum, 'DISENUM', model_mempath)
108108

109109
! initialize model
110-
call export_model%init(model_dynamic_input, disenum, iout)
110+
call export_model%init(model_input, disenum, iout)
111111

112112
! update NetCDF fileout name if provided
113113
call mem_set_value(export_model%nc_fname, 'NCMESH2DFILE', &

src/Utilities/Idm/IdmLoad.f90

+24-23
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module IdmLoadModule
1515
use InputLoadTypeModule, only: StaticPkgLoadBaseType, &
1616
DynamicPkgLoadBaseType, &
1717
ModelDynamicPkgsType, &
18-
model_dynamic_pkgs
18+
model_inputs
1919
use InputDefinitionModule, only: InputParamDefinitionType
2020
use ModflowInputModule, only: ModflowInputType, getModflowInput
2121

@@ -38,8 +38,8 @@ subroutine idm_df()
3838
use InputLoadTypeModule, only: GetDynamicModelFromList
3939
class(ModelDynamicPkgsType), pointer :: model_dynamic_input
4040
integer(I4B) :: n
41-
do n = 1, model_dynamic_pkgs%Count()
42-
model_dynamic_input => GetDynamicModelFromList(model_dynamic_pkgs, n)
41+
do n = 1, model_inputs%Count()
42+
model_dynamic_input => GetDynamicModelFromList(model_inputs, n)
4343
call model_dynamic_input%df()
4444
end do
4545
end subroutine idm_df
@@ -50,8 +50,8 @@ subroutine idm_rp()
5050
use InputLoadTypeModule, only: GetDynamicModelFromList
5151
class(ModelDynamicPkgsType), pointer :: model_dynamic_input
5252
integer(I4B) :: n
53-
do n = 1, model_dynamic_pkgs%Count()
54-
model_dynamic_input => GetDynamicModelFromList(model_dynamic_pkgs, n)
53+
do n = 1, model_inputs%Count()
54+
model_dynamic_input => GetDynamicModelFromList(model_inputs, n)
5555
call model_dynamic_input%rp()
5656
end do
5757
end subroutine idm_rp
@@ -62,8 +62,8 @@ subroutine idm_ad()
6262
use InputLoadTypeModule, only: GetDynamicModelFromList
6363
class(ModelDynamicPkgsType), pointer :: model_dynamic_input
6464
integer(I4B) :: n
65-
do n = 1, model_dynamic_pkgs%Count()
66-
model_dynamic_input => GetDynamicModelFromList(model_dynamic_pkgs, n)
65+
do n = 1, model_inputs%Count()
66+
model_dynamic_input => GetDynamicModelFromList(model_inputs, n)
6767
call model_dynamic_input%ad()
6868
end do
6969
end subroutine idm_ad
@@ -123,7 +123,7 @@ recursive subroutine input_load(component_type, subcomponent_type, modelname, &
123123
integer(I4B), intent(in) :: iout
124124
class(StaticPkgLoadBaseType), pointer :: static_loader
125125
class(DynamicPkgLoadBaseType), pointer :: dynamic_loader
126-
class(ModelDynamicPkgsType), pointer :: dynamic_pkgs
126+
class(ModelDynamicPkgsType), pointer :: dynamic_model
127127
integer(I4B) :: n
128128

129129
! create model package loader
@@ -134,14 +134,15 @@ recursive subroutine input_load(component_type, subcomponent_type, modelname, &
134134
! load static input and set dynamic loader
135135
dynamic_loader => static_loader%load(iout)
136136

137+
! set pointer to model dynamic packages list
138+
dynamic_model => &
139+
dynamic_models(static_loader%mf6_input%component_type, modelname, &
140+
static_loader%component_input_name, nc_vars%nc_fname, &
141+
nc_vars%ncid, iout)
142+
137143
if (associated(dynamic_loader)) then
138-
! set pointer to model dynamic packages list
139-
dynamic_pkgs => &
140-
dynamic_model_pkgs(static_loader%mf6_input%component_type, modelname, &
141-
static_loader%component_input_name, nc_vars%nc_fname, &
142-
nc_vars%ncid, iout)
143144
! add dynamic pkg loader to list
144-
call dynamic_pkgs%add(dynamic_loader)
145+
call dynamic_model%add(dynamic_loader)
145146
end if
146147

147148
! create subpackage list
@@ -460,8 +461,8 @@ end subroutine simtdis_load
460461

461462
!> @brief retrieve list of model dynamic loaders
462463
!<
463-
function dynamic_model_pkgs(modeltype, modelname, modelfname, nc_fname, &
464-
ncid, iout) result(model_dynamic_input)
464+
function dynamic_models(modeltype, modelname, modelfname, nc_fname, &
465+
ncid, iout) result(model_dynamic_input)
465466
use InputLoadTypeModule, only: AddDynamicModelToList, GetDynamicModelFromList
466467
character(len=*), intent(in) :: modeltype
467468
character(len=*), intent(in) :: modelname
@@ -477,8 +478,8 @@ function dynamic_model_pkgs(modeltype, modelname, modelfname, nc_fname, &
477478
nullify (model_dynamic_input)
478479

479480
! assign model loader object if found
480-
do id = 1, model_dynamic_pkgs%Count()
481-
temp => GetDynamicModelFromList(model_dynamic_pkgs, id)
481+
do id = 1, model_inputs%Count()
482+
temp => GetDynamicModelFromList(model_inputs, id)
482483
if (temp%modelname == modelname) then
483484
model_dynamic_input => temp
484485
exit
@@ -490,9 +491,9 @@ function dynamic_model_pkgs(modeltype, modelname, modelfname, nc_fname, &
490491
allocate (model_dynamic_input)
491492
call model_dynamic_input%init(modeltype, modelname, modelfname, &
492493
nc_fname, ncid, iout)
493-
call AddDynamicModelToList(model_dynamic_pkgs, model_dynamic_input)
494+
call AddDynamicModelToList(model_inputs, model_dynamic_input)
494495
end if
495-
end function dynamic_model_pkgs
496+
end function dynamic_models
496497

497498
!> @brief deallocate all model dynamic loader collections
498499
!<
@@ -502,14 +503,14 @@ subroutine dynamic_da(iout)
502503
integer(I4B), intent(in) :: iout
503504
class(ModelDynamicPkgsType), pointer :: model_dynamic_input
504505
integer(I4B) :: n
505-
do n = 1, model_dynamic_pkgs%Count()
506-
model_dynamic_input => GetDynamicModelFromList(model_dynamic_pkgs, n)
506+
do n = 1, model_inputs%Count()
507+
model_dynamic_input => GetDynamicModelFromList(model_inputs, n)
507508
call nc_close(model_dynamic_input%ncid, model_dynamic_input%nc_fname)
508509
call model_dynamic_input%destroy()
509510
deallocate (model_dynamic_input)
510511
nullify (model_dynamic_input)
511512
end do
512-
call model_dynamic_pkgs%Clear()
513+
call model_inputs%Clear()
513514
end subroutine dynamic_da
514515

515516
!> @brief return sim input context PRINT_INPUT value

src/Utilities/Idm/InputLoadType.f90

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ module InputLoadTypeModule
2323
public :: ModelDynamicPkgsType
2424
public :: AddDynamicModelToList, GetDynamicModelFromList
2525
public :: StaticPkgLoadType, DynamicPkgLoadType
26-
public :: model_dynamic_pkgs
26+
public :: model_inputs
2727

2828
!> @brief type representing package subpackage list
2929
type :: SubPackageListType
@@ -143,7 +143,7 @@ subroutine period_load_if(this)
143143
procedure :: destroy => dynamicpkgs_destroy
144144
end type ModelDynamicPkgsType
145145

146-
type(ListType) :: model_dynamic_pkgs
146+
type(ListType) :: model_inputs
147147

148148
contains
149149

0 commit comments

Comments
 (0)