From 509fafa32655ecc93a27947a879a95e1370bcf7e Mon Sep 17 00:00:00 2001 From: Ben Andre Date: Fri, 10 Feb 2017 13:12:07 -0700 Subject: [PATCH] Apply fates_ namespace to fates parameters. Fates parameters and dimensions have are now namespaced with 'fates_' in the input parameter file. This allows fates and clm to share an input file without name collisions. Update to new default parameter file with proper namespace. User interface changes?: yes, all fates input via the netcdf input parameter file must be namespaced with 'fates_' for both parameter and dimension names. Test suite: ed - yellowstone gnu, intel, pgi - hobart nag Test baseline: a651a4f Test namelist changes: yes, add fates_paramfile Test answer changes: bit for bit Test summary: all tests pass Test suite: clm_short - yellowstone gnu, intel, pgi Test baseline: clm4_5_12_r195 Test namelist changes: none Test answer changes: bit for bit Test summary: all tests pass --- .../namelist_defaults_clm4_5.xml | 2 +- .../src/ED/biogeochem/EDSharedParamsMod.F90 | 4 +- components/clm/src/ED/fire/SFParamsMod.F90 | 42 ++-- components/clm/src/ED/main/EDParamsMod.F90 | 22 +- components/clm/src/ED/main/EDPftvarcon.F90 | 218 +++++++++--------- .../src/ED/main/FatesParametersInterface.F90 | 26 +-- 6 files changed, 156 insertions(+), 158 deletions(-) diff --git a/components/clm/bld/namelist_files/namelist_defaults_clm4_5.xml b/components/clm/bld/namelist_files/namelist_defaults_clm4_5.xml index e843003601..8268d26dba 100644 --- a/components/clm/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/components/clm/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -243,7 +243,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). lnd/clm2/paramdata/clm5_params.c160713.nc lnd/clm2/paramdata/clm_params.c160713.nc -lnd/clm2/paramdata/clm_params_ed.c170112.nc +lnd/clm2/paramdata/fates_params.c170209.nc diff --git a/components/clm/src/ED/biogeochem/EDSharedParamsMod.F90 b/components/clm/src/ED/biogeochem/EDSharedParamsMod.F90 index c3610b0553..fb0f6c6c63 100644 --- a/components/clm/src/ED/biogeochem/EDSharedParamsMod.F90 +++ b/components/clm/src/ED/biogeochem/EDSharedParamsMod.F90 @@ -84,14 +84,14 @@ subroutine RegisterParamsScalar(this, fates_params) ! that need to be synced with host values. use FatesParametersInterface, only : fates_parameters_type, param_string_length - use FatesParametersInterface, only : dimension_name_allpfts, dimension_shape_1d + use FatesParametersInterface, only : dimension_name_host_allpfts, dimension_shape_1d implicit none class(EDParamsShareType), intent(inout) :: this class(fates_parameters_type), intent(inout) :: fates_params - character(len=param_string_length), parameter :: dim_names(1) = (/dimension_name_allpfts/) + character(len=param_string_length), parameter :: dim_names(1) = (/dimension_name_host_allpfts/) character(len=param_string_length) :: name call this%Init() diff --git a/components/clm/src/ED/fire/SFParamsMod.F90 b/components/clm/src/ED/fire/SFParamsMod.F90 index 2f2de2eb81..0677a9f79e 100644 --- a/components/clm/src/ED/fire/SFParamsMod.F90 +++ b/components/clm/src/ED/fire/SFParamsMod.F90 @@ -39,27 +39,27 @@ module SFParamsMod real(r8),protected :: SF_val_mid_moisture_C(NFSC) real(r8),protected :: SF_val_mid_moisture_S(NFSC) - character(len=param_string_length),parameter :: SF_name_fdi_a = "fdi_a" - character(len=param_string_length),parameter :: SF_name_fdi_b = "fdi_b" - character(len=param_string_length),parameter :: SF_name_fdi_alpha = "fdi_alpha" - character(len=param_string_length),parameter :: SF_name_miner_total = "miner_total" - character(len=param_string_length),parameter :: SF_name_fuel_energy = "fuel_energy" - character(len=param_string_length),parameter :: SF_name_part_dens = "part_dens" - character(len=param_string_length),parameter :: SF_name_miner_damp = "miner_damp" - character(len=param_string_length),parameter :: SF_name_max_durat = "max_durat" - character(len=param_string_length),parameter :: SF_name_durat_slope = "durat_slope" - character(len=param_string_length),parameter :: SF_name_alpha_SH = "alpha_SH" - character(len=param_string_length),parameter :: SF_name_alpha_FMC = "alpha_FMC" - character(len=param_string_length),parameter :: SF_name_CWD_frac = "CWD_frac" - character(len=param_string_length),parameter :: SF_name_max_decomp = "max_decomp" - character(len=param_string_length),parameter :: SF_name_SAV = "SAV" - character(len=param_string_length),parameter :: SF_name_FBD = "FBD" - character(len=param_string_length),parameter :: SF_name_min_moisture = "min_moisture" - character(len=param_string_length),parameter :: SF_name_mid_moisture = "mid_moisture" - character(len=param_string_length),parameter :: SF_name_low_moisture_C = "low_moisture_C" - character(len=param_string_length),parameter :: SF_name_low_moisture_S = "low_moisture_S" - character(len=param_string_length),parameter :: SF_name_mid_moisture_C = "mid_moisture_C" - character(len=param_string_length),parameter :: SF_name_mid_moisture_S = "mid_moisture_S" + character(len=param_string_length),parameter :: SF_name_fdi_a = "fates_fdi_a" + character(len=param_string_length),parameter :: SF_name_fdi_b = "fates_fdi_b" + character(len=param_string_length),parameter :: SF_name_fdi_alpha = "fates_fdi_alpha" + character(len=param_string_length),parameter :: SF_name_miner_total = "fates_miner_total" + character(len=param_string_length),parameter :: SF_name_fuel_energy = "fates_fuel_energy" + character(len=param_string_length),parameter :: SF_name_part_dens = "fates_part_dens" + character(len=param_string_length),parameter :: SF_name_miner_damp = "fates_miner_damp" + character(len=param_string_length),parameter :: SF_name_max_durat = "fates_max_durat" + character(len=param_string_length),parameter :: SF_name_durat_slope = "fates_durat_slope" + character(len=param_string_length),parameter :: SF_name_alpha_SH = "fates_alpha_SH" + character(len=param_string_length),parameter :: SF_name_alpha_FMC = "fates_alpha_FMC" + character(len=param_string_length),parameter :: SF_name_CWD_frac = "fates_CWD_frac" + character(len=param_string_length),parameter :: SF_name_max_decomp = "fates_max_decomp" + character(len=param_string_length),parameter :: SF_name_SAV = "fates_SAV" + character(len=param_string_length),parameter :: SF_name_FBD = "fates_FBD" + character(len=param_string_length),parameter :: SF_name_min_moisture = "fates_min_moisture" + character(len=param_string_length),parameter :: SF_name_mid_moisture = "fates_mid_moisture" + character(len=param_string_length),parameter :: SF_name_low_moisture_C = "fates_low_moisture_C" + character(len=param_string_length),parameter :: SF_name_low_moisture_S = "fates_low_moisture_S" + character(len=param_string_length),parameter :: SF_name_mid_moisture_C = "fates_mid_moisture_C" + character(len=param_string_length),parameter :: SF_name_mid_moisture_S = "fates_mid_moisture_S" public :: SpitFireRegisterParams public :: SpitFireReceiveParams diff --git a/components/clm/src/ED/main/EDParamsMod.F90 b/components/clm/src/ED/main/EDParamsMod.F90 index dc67ebd869..eda22e0b2e 100644 --- a/components/clm/src/ED/main/EDParamsMod.F90 +++ b/components/clm/src/ED/main/EDParamsMod.F90 @@ -27,17 +27,17 @@ module EDParamsMod real(r8),protected :: ED_val_profile_tol real(r8),protected :: ED_val_ag_biomass - character(len=param_string_length),parameter :: ED_name_grass_spread = "grass_spread" - character(len=param_string_length),parameter :: ED_name_comp_excln = "comp_excln" - character(len=param_string_length),parameter :: ED_name_stress_mort = "stress_mort" - character(len=param_string_length),parameter :: ED_name_dispersal = "dispersal" - character(len=param_string_length),parameter :: ED_name_maxspread = "maxspread" - character(len=param_string_length),parameter :: ED_name_minspread = "minspread" - character(len=param_string_length),parameter :: ED_name_init_litter = "init_litter" - character(len=param_string_length),parameter :: ED_name_nfires = "nfires" - character(len=param_string_length),parameter :: ED_name_understorey_death = "understorey_death" - character(len=param_string_length),parameter :: ED_name_profile_tol = "profile_tol" - character(len=param_string_length),parameter :: ED_name_ag_biomass= "ag_biomass" + character(len=param_string_length),parameter :: ED_name_grass_spread = "fates_grass_spread" + character(len=param_string_length),parameter :: ED_name_comp_excln = "fates_comp_excln" + character(len=param_string_length),parameter :: ED_name_stress_mort = "fates_stress_mort" + character(len=param_string_length),parameter :: ED_name_dispersal = "fates_dispersal" + character(len=param_string_length),parameter :: ED_name_maxspread = "fates_maxspread" + character(len=param_string_length),parameter :: ED_name_minspread = "fates_minspread" + character(len=param_string_length),parameter :: ED_name_init_litter = "fates_init_litter" + character(len=param_string_length),parameter :: ED_name_nfires = "fates_nfires" + character(len=param_string_length),parameter :: ED_name_understorey_death = "fates_understorey_death" + character(len=param_string_length),parameter :: ED_name_profile_tol = "fates_profile_tol" + character(len=param_string_length),parameter :: ED_name_ag_biomass= "fates_ag_biomass" public :: FatesParamsInit public :: FatesRegisterParams diff --git a/components/clm/src/ED/main/EDPftvarcon.F90 b/components/clm/src/ED/main/EDPftvarcon.F90 index b5eb1ff96f..ea53b660cf 100644 --- a/components/clm/src/ED/main/EDPftvarcon.F90 +++ b/components/clm/src/ED/main/EDPftvarcon.F90 @@ -160,183 +160,183 @@ subroutine Register_PFT(this, fates_params) !X! call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & !X! dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'max_dbh' + name = 'fates_max_dbh' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'freezetol' + name = 'fates_freezetol' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'wood_density' + name = 'fates_wood_density' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'alpha_stem' + name = 'fates_alpha_stem' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'hgt_min' + name = 'fates_hgt_min' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'cushion' + name = 'fates_cushion' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'leaf_stor_priority' + name = 'fates_leaf_stor_priority' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'leafwatermax' + name = 'fates_leafwatermax' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'rootresist' + name = 'fates_rootresist' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'soilbeta' + name = 'fates_soilbeta' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'crown' + name = 'fates_crown' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'bark_scaler' + name = 'fates_bark_scaler' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'crown_kill' + name = 'fates_crown_kill' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'initd' + name = 'fates_initd' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'sd_mort' + name = 'fates_sd_mort' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'seed_rain' + name = 'fates_seed_rain' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'BB_slope' + name = 'fates_BB_slope' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'root_long' + name = 'fates_root_long' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'clone_alloc' + name = 'fates_clone_alloc' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'seed_alloc' + name = 'fates_seed_alloc' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'sapwood_ratio' + name = 'fates_sapwood_ratio' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'woody' + name = 'fates_woody' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'stress_decid' + name = 'fates_stress_decid' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'season_decid' + name = 'fates_season_decid' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'evergreen' + name = 'fates_evergreen' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'froot_leaf' + name = 'fates_froot_leaf' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'slatop' + name = 'fates_slatop' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'leaf_long' + name = 'fates_leaf_long' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'roota_par' + name = 'fates_roota_par' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'rootb_par' + name = 'fates_rootb_par' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'lf_flab' + name = 'fates_lf_flab' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'lf_fcel' + name = 'fates_lf_fcel' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'lf_flig' + name = 'fates_lf_flig' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'fr_flab' + name = 'fates_fr_flab' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'fr_fcel' + name = 'fates_fr_fcel' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'fr_flig' + name = 'fates_fr_flig' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'xl' + name = 'fates_xl' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'c3psn' + name = 'fates_c3psn' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'flnr' + name = 'fates_flnr' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'fnitr' + name = 'fates_fnitr' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'leafcn' + name = 'fates_leafcn' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'frootcn' + name = 'fates_frootcn' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'smpso' + name = 'fates_smpso' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'smpsc' + name = 'fates_smpsc' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) - name = 'grperc' + name = 'fates_grperc' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) @@ -359,183 +359,183 @@ subroutine Receive_PFT(this, fates_params) !X! call fates_params%RetreiveParameter(name=name, & !X! data=this%) - name = 'max_dbh' + name = 'fates_max_dbh' call fates_params%RetreiveParameterAllocate(name=name, & data=this%max_dbh) - name = 'freezetol' + name = 'fates_freezetol' call fates_params%RetreiveParameterAllocate(name=name, & data=this%freezetol) - name = 'wood_density' + name = 'fates_wood_density' call fates_params%RetreiveParameterAllocate(name=name, & data=this%wood_density) - name = 'alpha_stem' + name = 'fates_alpha_stem' call fates_params%RetreiveParameterAllocate(name=name, & data=this%alpha_stem) - name = 'hgt_min' + name = 'fates_hgt_min' call fates_params%RetreiveParameterAllocate(name=name, & data=this%hgt_min) - name = 'cushion' + name = 'fates_cushion' call fates_params%RetreiveParameterAllocate(name=name, & data=this%cushion) - name = 'leaf_stor_priority' + name = 'fates_leaf_stor_priority' call fates_params%RetreiveParameterAllocate(name=name, & data=this%leaf_stor_priority) - name = 'leafwatermax' + name = 'fates_leafwatermax' call fates_params%RetreiveParameterAllocate(name=name, & data=this%leafwatermax) - name = 'rootresist' + name = 'fates_rootresist' call fates_params%RetreiveParameterAllocate(name=name, & data=this%rootresist) - name = 'soilbeta' + name = 'fates_soilbeta' call fates_params%RetreiveParameterAllocate(name=name, & data=this%soilbeta) - name = 'crown' + name = 'fates_crown' call fates_params%RetreiveParameterAllocate(name=name, & data=this%crown) - name = 'bark_scaler' + name = 'fates_bark_scaler' call fates_params%RetreiveParameterAllocate(name=name, & data=this%bark_scaler) - name = 'crown_kill' + name = 'fates_crown_kill' call fates_params%RetreiveParameterAllocate(name=name, & data=this%crown_kill) - name = 'initd' + name = 'fates_initd' call fates_params%RetreiveParameterAllocate(name=name, & data=this%initd) - name = 'sd_mort' + name = 'fates_sd_mort' call fates_params%RetreiveParameterAllocate(name=name, & data=this%sd_mort) - name = 'seed_rain' + name = 'fates_seed_rain' call fates_params%RetreiveParameterAllocate(name=name, & data=this%seed_rain) - name = 'BB_slope' + name = 'fates_BB_slope' call fates_params%RetreiveParameterAllocate(name=name, & data=this%BB_slope) - name = 'root_long' + name = 'fates_root_long' call fates_params%RetreiveParameterAllocate(name=name, & data=this%root_long) - name = 'clone_alloc' + name = 'fates_clone_alloc' call fates_params%RetreiveParameterAllocate(name=name, & data=this%clone_alloc) - name = 'seed_alloc' + name = 'fates_seed_alloc' call fates_params%RetreiveParameterAllocate(name=name, & data=this%seed_alloc) - name = 'sapwood_ratio' + name = 'fates_sapwood_ratio' call fates_params%RetreiveParameterAllocate(name=name, & data=this%sapwood_ratio) - name = 'woody' + name = 'fates_woody' call fates_params%RetreiveParameterAllocate(name=name, & data=this%woody) - name = 'stress_decid' + name = 'fates_stress_decid' call fates_params%RetreiveParameterAllocate(name=name, & data=this%stress_decid) - name = 'season_decid' + name = 'fates_season_decid' call fates_params%RetreiveParameterAllocate(name=name, & data=this%season_decid) - name = 'evergreen' + name = 'fates_evergreen' call fates_params%RetreiveParameterAllocate(name=name, & data=this%evergreen) - name = 'froot_leaf' + name = 'fates_froot_leaf' call fates_params%RetreiveParameterAllocate(name=name, & data=this%froot_leaf) - name = 'slatop' + name = 'fates_slatop' call fates_params%RetreiveParameterAllocate(name=name, & data=this%slatop) - name = 'leaf_long' + name = 'fates_leaf_long' call fates_params%RetreiveParameterAllocate(name=name, & data=this%leaf_long) - name = 'roota_par' + name = 'fates_roota_par' call fates_params%RetreiveParameterAllocate(name=name, & data=this%roota_par) - name = 'rootb_par' + name = 'fates_rootb_par' call fates_params%RetreiveParameterAllocate(name=name, & data=this%rootb_par) - name = 'lf_flab' + name = 'fates_lf_flab' call fates_params%RetreiveParameterAllocate(name=name, & data=this%lf_flab) - name = 'lf_fcel' + name = 'fates_lf_fcel' call fates_params%RetreiveParameterAllocate(name=name, & data=this%lf_fcel) - name = 'lf_flig' + name = 'fates_lf_flig' call fates_params%RetreiveParameterAllocate(name=name, & data=this%lf_flig) - name = 'fr_flab' + name = 'fates_fr_flab' call fates_params%RetreiveParameterAllocate(name=name, & data=this%fr_flab) - name = 'fr_fcel' + name = 'fates_fr_fcel' call fates_params%RetreiveParameterAllocate(name=name, & data=this%fr_fcel) - name = 'fr_flig' + name = 'fates_fr_flig' call fates_params%RetreiveParameterAllocate(name=name, & data=this%fr_flig) - name = 'xl' + name = 'fates_xl' call fates_params%RetreiveParameterAllocate(name=name, & data=this%xl) - name = 'c3psn' + name = 'fates_c3psn' call fates_params%RetreiveParameterAllocate(name=name, & data=this%c3psn) - name = 'flnr' + name = 'fates_flnr' call fates_params%RetreiveParameterAllocate(name=name, & data=this%flnr) - name = 'fnitr' + name = 'fates_fnitr' call fates_params%RetreiveParameterAllocate(name=name, & data=this%fnitr) - name = 'leafcn' + name = 'fates_leafcn' call fates_params%RetreiveParameterAllocate(name=name, & data=this%leafcn) - name = 'frootcn' + name = 'fates_frootcn' call fates_params%RetreiveParameterAllocate(name=name, & data=this%frootcn) - name = 'smpso' + name = 'fates_smpso' call fates_params%RetreiveParameterAllocate(name=name, & data=this%smpso) - name = 'smpsc' + name = 'fates_smpsc' call fates_params%RetreiveParameterAllocate(name=name, & data=this%smpsc) - name = 'grperc' + name = 'fates_grperc' call fates_params%RetreiveParameterAllocate(name=name, & data=this%grperc) @@ -563,35 +563,35 @@ subroutine Register_PFT_numrad(this, fates_params) !X! call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & !X! dimension_names=dim_names) - name = 'rholvis' + name = 'fates_rholvis' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names) - name = 'rholnir' + name = 'fates_rholnir' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names) - name = 'rhosvis' + name = 'fates_rhosvis' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names) - name = 'rhosnir' + name = 'fates_rhosnir' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names) - name = 'taulvis' + name = 'fates_taulvis' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names) - name = 'taulnir' + name = 'fates_taulnir' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names) - name = 'tausvis' + name = 'fates_tausvis' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names) - name = 'tausnir' + name = 'fates_tausnir' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, & dimension_names=dim_names) @@ -632,7 +632,7 @@ subroutine Receive_PFT_numrad(this, fates_params) ! Fetch metadata from a representative variable. All variables ! called by this subroutine must be dimensioned the same way! - name = 'rholvis' + name = 'fates_rholvis' index = fates_params%FindIndex(name) call fates_params%GetMetaData(index, name, dimension_shape, dimension_sizes, dimension_names, is_host_param) lower_bound_1 = lower_bound_pft @@ -647,12 +647,12 @@ subroutine Receive_PFT_numrad(this, fates_params) ! allocate(this%rhol(lower_bound_1:upper_bound_1, lower_bound_2:upper_bound_2)) - name = 'rholvis' + name = 'fates_rholvis' call fates_params%RetreiveParameter(name=name, & data=dummy_data) this%rhol(lower_bound_1:upper_bound_1, ivis) = dummy_data - name = 'rholnir' + name = 'fates_rholnir' call fates_params%RetreiveParameter(name=name, & data=dummy_data) this%rhol(lower_bound_1:upper_bound_1, inir) = dummy_data @@ -662,12 +662,12 @@ subroutine Receive_PFT_numrad(this, fates_params) ! allocate(this%rhos(lower_bound_1:upper_bound_1, lower_bound_2:upper_bound_2)) - name = 'rhosvis' + name = 'fates_rhosvis' call fates_params%RetreiveParameter(name=name, & data=dummy_data) this%rhos(lower_bound_1:upper_bound_1, ivis) = dummy_data - name = 'rhosnir' + name = 'fates_rhosnir' call fates_params%RetreiveParameter(name=name, & data=dummy_data) this%rhos(lower_bound_1:upper_bound_1, inir) = dummy_data @@ -677,12 +677,12 @@ subroutine Receive_PFT_numrad(this, fates_params) ! allocate(this%taul(lower_bound_1:upper_bound_1, lower_bound_2:upper_bound_2)) - name = 'taulvis' + name = 'fates_taulvis' call fates_params%RetreiveParameter(name=name, & data=dummy_data) this%taul(lower_bound_1:upper_bound_1, ivis) = dummy_data - name = 'taulnir' + name = 'fates_taulnir' call fates_params%RetreiveParameter(name=name, & data=dummy_data) this%taul(lower_bound_1:upper_bound_1, inir) = dummy_data @@ -692,12 +692,12 @@ subroutine Receive_PFT_numrad(this, fates_params) ! allocate(this%taus(lower_bound_1:upper_bound_1, lower_bound_2:upper_bound_2)) - name = 'tausvis' + name = 'fates_tausvis' call fates_params%RetreiveParameter(name=name, & data=dummy_data) this%taus(lower_bound_1:upper_bound_1, ivis) = dummy_data - name = 'tausnir' + name = 'fates_tausnir' call fates_params%RetreiveParameter(name=name, & data=dummy_data) this%taus(lower_bound_1:upper_bound_1, inir) = dummy_data @@ -728,7 +728,7 @@ subroutine Register_PFT_nvariants(this, fates_params) !X! call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_2d, & !X! dimension_names=dim_names) - name = 'rootprof_beta' + name = 'fates_rootprof_beta' call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_2d, & dimension_names=dim_names, lower_bounds=dim_lower_bound) @@ -751,7 +751,7 @@ subroutine Receive_PFT_nvariants(this, fates_params) !X! call fates_params%RetreiveParameter(name=name, & !X! data=this%) - name = 'rootprof_beta' + name = 'fates_rootprof_beta' call fates_params%RetreiveParameterAllocate(name=name, & data=this%rootprof_beta) diff --git a/components/clm/src/ED/main/FatesParametersInterface.F90 b/components/clm/src/ED/main/FatesParametersInterface.F90 index 9daef59a93..007dd78d71 100644 --- a/components/clm/src/ED/main/FatesParametersInterface.F90 +++ b/components/clm/src/ED/main/FatesParametersInterface.F90 @@ -18,21 +18,19 @@ module FatesParametersInterface integer, parameter, public :: dimension_shape_1d = 1 integer, parameter, public :: dimension_shape_2d = 2 - ! FIXME(bja, 2017-01) these strings need to be changed to 'fates_' - ! to namespace dimonsions and prevent name collisions if someone - ! wants to write a single netcdf file containing host and fates - ! parameters. Can't be done easily until this framework is being - ! used to read variables. - ! FIXME(bja, 2017-01) change 'param' to 'scalar'! + ! Dimensions in the fates namespace: character(len=*), parameter, public :: dimension_name_scalar = '' - character(len=*), parameter, public :: dimension_name_scalar1d = 'param' - character(len=*), parameter, public :: dimension_name_pft = 'pft' - character(len=*), parameter, public :: dimension_name_segment = 'segment' - character(len=*), parameter, public :: dimension_name_cwd = 'NCWD' - character(len=*), parameter, public :: dimension_name_lsc = 'litterclass' - character(len=*), parameter, public :: dimension_name_fsc = 'litterclass' - character(len=*), parameter, public :: dimension_name_allpfts = 'allpfts' - character(len=*), parameter, public :: dimension_name_variants = 'variants' + character(len=*), parameter, public :: dimension_name_scalar1d = 'fates_scalar' + character(len=*), parameter, public :: dimension_name_pft = 'fates_pft' + character(len=*), parameter, public :: dimension_name_segment = 'fates_segment' + character(len=*), parameter, public :: dimension_name_cwd = 'fates_NCWD' + character(len=*), parameter, public :: dimension_name_lsc = 'fates_litterclass' + character(len=*), parameter, public :: dimension_name_fsc = 'fates_litterclass' + character(len=*), parameter, public :: dimension_name_allpfts = 'fates_allpfts' + character(len=*), parameter, public :: dimension_name_variants = 'fates_variants' + + ! Dimensions in the host namespace: + character(len=*), parameter, public :: dimension_name_host_allpfts = 'allpfts' type, private :: parameter_type character(len=param_string_length) :: name