diff --git a/components/mpas-albany-landice/cime_config/buildnml b/components/mpas-albany-landice/cime_config/buildnml index 9cf26ba743f0..f80685eb7064 100755 --- a/components/mpas-albany-landice/cime_config/buildnml +++ b/components/mpas-albany-landice/cime_config/buildnml @@ -30,6 +30,8 @@ def buildnml(case, caseroot, compname): srcroot = case.get_value("SRCROOT") din_loc_root = case.get_value("DIN_LOC_ROOT") glc_grid = case.get_value("GLC_GRID") + glc_pio_typename = case.get_value("GLC_PIO_TYPENAME") + glc_pio_netcdf_format = case.get_value("GLC_PIO_NETCDF_FORMAT") #ninst_glc = case.get_value("NINST_GLC") ninst_glc = 1 # Change if you want multiple instances... though this isn't coded yet. ninst_glc_real = case.get_value("NINST_GLC") @@ -46,6 +48,12 @@ def buildnml(case, caseroot, compname): stream_name = 'streams.landice' albany_input_name = 'albany_input.yaml' + # Use 'pnetcdf,cdf5' when GLC_PIO_NETCDF_FORMAT requests 64-bit data, else use the standard type + if glc_pio_typename.lower() == 'pnetcdf' and glc_pio_netcdf_format.lower() == '64bit_data': + io_type_str = 'pnetcdf,cdf5' + else: + io_type_str = glc_pio_typename + maliconf_dir = os.path.join(casebuild, "maliconf") if not os.path.isdir(maliconf_dir): os.mkdir(maliconf_dir) @@ -203,11 +211,13 @@ def buildnml(case, caseroot, compname): lines.append('') lines.append(' ') lines.append('') lines.append(' ') lines.append('') @@ -223,6 +233,7 @@ def buildnml(case, caseroot, compname): lines.append(' -->') lines.append(' ') diff --git a/components/mpas-albany-landice/driver/glc_comp_mct.F b/components/mpas-albany-landice/driver/glc_comp_mct.F index b26e79712a44..6f014b793e61 100644 --- a/components/mpas-albany-landice/driver/glc_comp_mct.F +++ b/components/mpas-albany-landice/driver/glc_comp_mct.F @@ -475,6 +475,10 @@ end subroutine xml_stream_get_attributes mesh_iotype = MPAS_IO_NETCDF else if (trim(iotype) == 'netcdf4') then mesh_iotype = MPAS_IO_NETCDF4 + else if (trim(iotype) == 'adios') then + mesh_iotype = MPAS_IO_ADIOS + else if (trim(iotype) == 'adiosc') then + mesh_iotype = MPAS_IO_ADIOSC else mesh_iotype = MPAS_IO_PNETCDF end if diff --git a/components/mpas-framework/src/driver/mpas_subdriver.F b/components/mpas-framework/src/driver/mpas_subdriver.F index 6db64e7dcf3d..11863a06c168 100644 --- a/components/mpas-framework/src/driver/mpas_subdriver.F +++ b/components/mpas-framework/src/driver/mpas_subdriver.F @@ -285,6 +285,10 @@ end subroutine xml_stream_get_attributes mesh_iotype = MPAS_IO_NETCDF else if (trim(iotype) == 'netcdf4') then mesh_iotype = MPAS_IO_NETCDF4 + else if (trim(iotype) == 'adios') then + mesh_iotype = MPAS_IO_ADIOS + else if (trim(iotype) == 'adiosc') then + mesh_iotype = MPAS_IO_ADIOSC else mesh_iotype = MPAS_IO_PNETCDF end if diff --git a/components/mpas-ocean/cime_config/buildnml b/components/mpas-ocean/cime_config/buildnml index 30682163e965..6a127b22c6dd 100755 --- a/components/mpas-ocean/cime_config/buildnml +++ b/components/mpas-ocean/cime_config/buildnml @@ -44,6 +44,7 @@ def buildnml(case, caseroot, compname): atm_co2_const_val = case.get_value("CCSM_CO2_PPMV") ice_bgc = case.get_value("MPASI_BGC") ocn_pio_typename = case.get_value("OCN_PIO_TYPENAME") + ocn_pio_netcdf_format = case.get_value("OCN_PIO_NETCDF_FORMAT") ninst_ocn = case.get_value("NINST_OCN") nthrds_ocn = case.get_value("NTHRDS_OCN") ntasks_ocn = case.get_value("NTASKS_PER_INST_OCN") @@ -54,6 +55,12 @@ def buildnml(case, caseroot, compname): run_reftod = case.get_value("RUN_REFTOD") stream_name = 'streams.ocean' + # Use 'pnetcdf,cdf5' when OCN_PIO_NETCDF_FORMAT requests 64-bit data, else use the standard type + if ocn_pio_typename.lower() == 'pnetcdf' and ocn_pio_netcdf_format.lower() == '64bit_data': + io_type_str = 'pnetcdf,cdf5' + else: + io_type_str = ocn_pio_typename + mpasoconf_dir = os.path.join(casebuild, "mpasoconf") if not os.path.isdir(mpasoconf_dir): os.mkdir(mpasoconf_dir) @@ -568,21 +575,13 @@ def buildnml(case, caseroot, compname): lines.append('') lines.append('') lines.append('') lines.append('') @@ -734,7 +725,7 @@ def buildnml(case, caseroot, compname): if u_tidal_rms_file != '': lines.append('') @@ -746,7 +737,7 @@ def buildnml(case, caseroot, compname): if data_sgr_file != '': lines.append('') lines.append('') @@ -773,7 +764,7 @@ def buildnml(case, caseroot, compname): lines.append('') lines.append('') lines.append('') @@ -787,7 +778,7 @@ def buildnml(case, caseroot, compname): lines.append('') @@ -1827,7 +1790,7 @@ def buildnml(case, caseroot, compname): if data_ismf_file != '': lines.append('') @@ -1846,7 +1809,7 @@ def buildnml(case, caseroot, compname): lines.append('') lines.append('') diff --git a/components/mpas-ocean/driver/ocn_comp_mct.F b/components/mpas-ocean/driver/ocn_comp_mct.F index 1187d2a26a23..dfa14b009940 100644 --- a/components/mpas-ocean/driver/ocn_comp_mct.F +++ b/components/mpas-ocean/driver/ocn_comp_mct.F @@ -539,6 +539,10 @@ end subroutine xml_stream_get_attributes mesh_iotype = MPAS_IO_NETCDF else if (trim(iotype) == 'netcdf4') then mesh_iotype = MPAS_IO_NETCDF4 + else if (trim(iotype) == 'adios') then + mesh_iotype = MPAS_IO_ADIOS + else if (trim(iotype) == 'adiosc') then + mesh_iotype = MPAS_IO_ADIOSC else mesh_iotype = MPAS_IO_PNETCDF end if diff --git a/components/mpas-seaice/cime_config/buildnml b/components/mpas-seaice/cime_config/buildnml index 68ba3075a44a..4dc604d30b2b 100755 --- a/components/mpas-seaice/cime_config/buildnml +++ b/components/mpas-seaice/cime_config/buildnml @@ -38,6 +38,7 @@ def buildnml(case, caseroot, compname): prognostic_mode = case.get_value("MPASSI_PROGNOSTIC_MODE") column_mode = case.get_value("MPASSI_COLUMN_MODE") ice_pio_typename = case.get_value("ICE_PIO_TYPENAME") + ice_pio_netcdf_format = case.get_value("ICE_PIO_NETCDF_FORMAT") ninst_ice = case.get_value("NINST_ICE") ntasks_ice = case.get_value("NTASKS_PER_INST_ICE") rundir = case.get_value("RUNDIR") @@ -49,6 +50,12 @@ def buildnml(case, caseroot, compname): atm_ncpl = case.get_value("ATM_NCPL") stream_name = 'streams.seaice' + # Use 'pnetcdf,cdf5' when ICE_PIO_NETCDF_FORMAT requests 64-bit data, else use the standard type + if ice_pio_typename.lower() == 'pnetcdf' and ice_pio_netcdf_format.lower() == '64bit_data': + io_type_str = 'pnetcdf,cdf5' + else: + io_type_str = ice_pio_typename + mpassiconf_dir = os.path.join(casebuild, "mpassiconf") if not os.path.isdir(mpassiconf_dir): os.mkdir(mpassiconf_dir) @@ -487,21 +494,13 @@ def buildnml(case, caseroot, compname): lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') lines.append('') @@ -635,7 +626,7 @@ def buildnml(case, caseroot, compname): if dust_iron_file != '': lines.append('') @@ -674,7 +665,7 @@ def buildnml(case, caseroot, compname): if iceberg_mode == 'data': lines.append('') @@ -687,7 +678,7 @@ def buildnml(case, caseroot, compname): lines.append(''.format(din_loc_root, ice_mask, grid_prefix, grid_date)) lines.append('') diff --git a/components/mpas-seaice/driver/ice_comp_mct.F b/components/mpas-seaice/driver/ice_comp_mct.F index 0948e8e3526c..ae9aae4b2186 100644 --- a/components/mpas-seaice/driver/ice_comp_mct.F +++ b/components/mpas-seaice/driver/ice_comp_mct.F @@ -552,6 +552,10 @@ end subroutine xml_stream_get_attributes mesh_iotype = MPAS_IO_NETCDF else if (trim(iotype) == 'netcdf4') then mesh_iotype = MPAS_IO_NETCDF4 + else if (trim(iotype) == 'adios') then + mesh_iotype = MPAS_IO_ADIOS + else if (trim(iotype) == 'adiosc') then + mesh_iotype = MPAS_IO_ADIOSC else mesh_iotype = MPAS_IO_PNETCDF end if