Skip to content

Standardize HISTORY.rc, diag_table, ice_in outputs (this could be parent for three separate issues) #120

@Dooruk

Description

@Dooruk

We should expand upon this with seaice or wave related (eventually) entries.

If and when we switch to FMS2:

https://github.com/NOAA-GFDL/FMS/blob/main/diag_manager/diag_yaml_format.md

Example 1:

This is what I have for diag_table currently, feel free to suggest more variables:

ocean_diags
1970 1 1 0 0 0
###### DEFINE FILE NAMING CONVENTION FOR OUTPUT FILES ######
############################################## instantaneous
"his%4yr%2mo%2dy%2hr",      12,  "hours", 1, "hours", "time", 12, "hours", "1901 1 1 0 0 0"

############################################ daily average
"ocean_daily_avg%4yr%2mo%2dy%2hr",    1,  "days", 1, "days", "time", 1, "days", "1901 1 1 0 0 0"

############################################# daily average fluxes
"ocean_surf_daily_avg%4yr%2mo%2dy%2hr",         1,"days",1,"days","time", 1, "days", "1901 1 1 0 0 0"

############################################# monthly average
"ocean_monthly_avg%4yr%2mo%2dy",            1,  "months", 1, "days","time", 1, "months", "1901 1 1 0 0 0"

############################################# monthly average fluxes
"ocean_surf_monthly_avg%4yr%2mo%2dy",       1,"months",1,"days","time", 1, "months", "1901 1 1 0 0 0"

#  Static  file
"ocean_static",  -1,  "months",  1,  "days",  "time"  #  ocean_static  is  a  protected  name.  Do  not  change  this  line.
"ocean_model",  "geolon",     "geolon",     "ocean_static",  "all",  "none",  "none",  2
"ocean_model",  "geolat",     "geolat",     "ocean_static",  "all",  "none",  "none",  2

##############################################
# INSTANTANEOUS FIELDS
##############################################
# "module_name","field_name","output_name","file_name","time_sampling","reduction_method","regional_section",  packing
#===============================================
 "ocean_model", "geolon",      "geolon",      "his%4yr%2mo%2dy%2hr", "all", "none", "none", 2
 "ocean_model", "geolat",      "geolat",      "his%4yr%2mo%2dy%2hr", "all", "none", "none", 2
#===============================================
 "ocean_model", "SSH",       "ave_ssh",      "his%4yr%2mo%2dy%2hr","all", "none","none",2
 "ocean_model", "MLD_0125",  "MLD",      "his%4yr%2mo%2dy%2hr","all",none,"none",2
#===============================================
 "ocean_model","u","u"            ,"his%4yr%2mo%2dy%2hr","all",.false.,"none",2
 "ocean_model","v","v"            ,"his%4yr%2mo%2dy%2hr","all",.false.,"none",2
 "ocean_model","salt","Salt"      ,"his%4yr%2mo%2dy%2hr","all",.false.,"none",2
 "ocean_model","temp","Temp"      ,"his%4yr%2mo%2dy%2hr","all",.false.,"none",2
 "ocean_model","h","h"            ,"his%4yr%2mo%2dy%2hr","all",.false.,"none",2
#===============================================

##############################################
# DAILY AVERAGES
##############################################
# "module_name","field_name","output_name","file_name","time_sampling","reduction_method","regional_section",  packing
#===============================================
#===============================================
 "ocean_model", "SSH",       "ave_ssh",      "ocean_daily_avg%4yr%2mo%2dy%2hr","all", "mean","none",2
 "ocean_model", "MLD_0125",  "MLD",      "ocean_daily_avg%4yr%2mo%2dy%2hr","all", "mean" ,"none",2
#===============================================
 "ocean_model","u","u"            ,"ocean_daily_avg%4yr%2mo%2dy%2hr","all", "mean","none",2
 "ocean_model","v","v"            ,"ocean_daily_avg%4yr%2mo%2dy%2hr","all", "mean","none",2
 "ocean_model","salt","Salt"      ,"ocean_daily_avg%4yr%2mo%2dy%2hr","all", "mean","none",2
 "ocean_model","temp","Temp"      ,"ocean_daily_avg%4yr%2mo%2dy%2hr","all", "mean","none",2
 "ocean_model","h","h"            ,"ocean_daily_avg%4yr%2mo%2dy%2hr","all", "mean","none",2
#===============================================

##############################################
# MONTHLY AVERAGES
##############################################
# "module_name","field_name","output_name","file_name","time_sampling","reduction_method","regional_section",  packing
#===============================================
#===============================================
 "ocean_model", "SSH",       "ave_ssh",      "ocean_monthly_avg%4yr%2mo%2dy","all", "mean","none",2
 "ocean_model", "MLD_0125",  "MLD",      "ocean_monthly_avg%4yr%2mo%2dy","all", "mean" ,"none",2
#===============================================
 "ocean_model","u","u"            ,"ocean_monthly_avg%4yr%2mo%2dy","all","mean","none",2
 "ocean_model","v","v"            ,"ocean_monthly_avg%4yr%2mo%2dy","all","mean","none",2
 "ocean_model","salt","Salt"      ,"ocean_monthly_avg%4yr%2mo%2dy","all","mean","none",2
 "ocean_model","temp","Temp"      ,"ocean_monthly_avg%4yr%2mo%2dy","all","mean","none",2
 "ocean_model","h","h"            ,"ocean_monthly_avg%4yr%2mo%2dy","all","mean","none",2
#===============================================

##############################################
# DAILY AVG FLUXES
##############################################
# "module_name","field_name","output_name","file_name","time_sampling","reduction_method","regional_section",  packing
#===============================================
"ocean_model","taux","taux","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","tauy","tauy","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","SW","SW","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","LW","LW","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","Rd1","Rd1","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","ustar","ustar","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
#===============================================
"ocean_model","evap","evap","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","PRCmE","PRCmE","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","latent","latent","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","sensible","sensible","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","net_heat_coupler","net_heat_coupler","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
"ocean_model","net_heat_surface","net_heat_surface","ocean_surf_daily_avg%4yr%2mo%2dy%2hr","all","mean","none",2
#===============================================


##############################################
# MONTHLY AVG FLUXES
##############################################
# "module_name","field_name","output_name","file_name","time_sampling","reduction_method","regional_section",  packing
#===============================================
"ocean_model","taux","taux","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","tauy","tauy","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","SW","SW","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","LW","LW","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","Rd1","Rd1","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","ustar","ustar","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
#===============================================
"ocean_model","evap","evap","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","PRCmE","PRCmE","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","latent","latent","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","sensible","sensible","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","net_heat_coupler","net_heat_coupler","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
"ocean_model","net_heat_surface","net_heat_surface","ocean_surf_monthly_avg%4yr%2mo%2dy","all","mean","none",2
#===============================================

Example 2: @zhaobin74, tailored for decadal scale runs with monthly segments

"Global ALE Experiment"
1900 1 1 0 0 0
"scalar%4yr_%2mo",   1,"months",1,"days","time", 1, "months"
#"layer",    1,"days",1,"days","Time",
#"prog",     0,"days",1,"days","Time",
"prog_z%4yr_%2mo",    1,"months",1,"days","time", 1, "months"
"prog_rho2%4yr_%2mo",    1,"months",1,"days","time", 1, "months"
#"ave_prog", 1,"days",1,"days","Time",
#"tracer",   1,"days",1,"days","Time",
"cont%4yr_%2mo",     1,"months",1,"days","time", 1, "months"
##"mom",     5,"days",1,"days","Time",
##"bt_mom",  5,"days",1,"days","Time",
"visc%4yr_%2mo",     1,"months",1,"days","time", 1, "months"
##"energy",  5,"days",1,"days","Time",
"forcing%4yr_%2mo",   1,"months",1,"days","time", 1, "months"
#"surface",  1,"months",1,"days","Time",
"sfc_ave%4yr_%2mo",   1,"months",1,"days","time", 1, "months"
"ocean_static",       -1,"days",1,"days","time",

##This is the field section of the diag_table.
#
## Prognostic Ocean fields:
##=========================
#
"ocean_model","SSH","SSH","sfc_ave%4yr_%2mo","all",.true.,"none",2
"ocean_model","SST","SST","sfc_ave%4yr_%2mo","all",.true.,"none",2
"ocean_model","SSS","SSS","sfc_ave%4yr_%2mo","all",.true.,"none",2
"ocean_model","speed","speed","sfc_ave%4yr_%2mo","all",.true.,"none",2
"ocean_model","SSU","SSU","sfc_ave%4yr_%2mo","all",.true.,"none",2
"ocean_model","SSV","SSV","sfc_ave%4yr_%2mo","all",.true.,"none",2
#
#
## Z-space fields:
##==================
"ocean_model_z","u","u","prog_z%4yr_%2mo","all",.true.,"none",2
"ocean_model_z","v","v","prog_z%4yr_%2mo","all",.true.,"none",2
"ocean_model_z","temp","temp","prog_z%4yr_%2mo","all",.true.,"none",2
#"ocean_model_z","temp_xyave","temp_xyave","prog_z","all",.true.,"none",2
"ocean_model_z","salt","salt","prog_z%4yr_%2mo","all",.true.,"none",2
"ocean_model_z","thkcello","thkcello","prog_z%4yr_%2mo","all",.true.,"none",2
"ocean_model_z","umo","umo","prog_z%4yr_%2mo","all",.true.,"none",2
"ocean_model_z","vmo","vmo","prog_z%4yr_%2mo","all",.true.,"none",2
"ocean_model_z","uhml","uhml","prog_z%4yr_%2mo","all",.true.,"none",2
"ocean_model_z","vhml","vhml","prog_z%4yr_%2mo","all",.true.,"none",2
#
## Continuity Equation Terms:
##===========================
"ocean_model","umo_2d","umo_2d","cont%4yr_%2mo","all",.true.,"none",2
"ocean_model","vmo_2d","vmo_2d","cont%4yr_%2mo","all",.true.,"none",2
"ocean_model_rho2","umo","umo","prog_rho2%4yr_%2mo","all",.true.,"none",2
"ocean_model_rho2","vmo","vmo","prog_rho2%4yr_%2mo","all",.true.,"none",2
"ocean_model_rho2","uhml","uhml","prog_rho2%4yr_%2mo","all",.true.,"none",2
"ocean_model_rho2","vhml","vhml","prog_rho2%4yr_%2mo","all",.true.,"none",2
#
##
## Surface Forcing:
##=================
#"ocean_model","taux","taux",                                    "forcing","all",.true.,"none",2
#"ocean_model","tauy","tauy",                                    "forcing","all",.true.,"none",2
#"ocean_model","ustar","ustar",                                  "forcing","all",.true.,"none",2
#"ocean_model","p_surf","p_surf",                                "forcing","all",.true.,"none",2
##
#"ocean_model","PRCmE","PRCmE",                                  "forcing","all",.true.,"none",1
#"ocean_model","net_massin","net_massin",                        "forcing","all",.true.,"none",1
#"ocean_model","net_massout","net_massout",                      "forcing","all",.true.,"none",1
"ocean_model","lrunoff","lrunoff",                              "forcing%4yr_%2mo","all",.true.,"none",1
"ocean_model","frunoff","frunoff",                              "forcing%4yr_%2mo","all",.true.,"none",1
#"ocean_model","lprec","lprec",                                  "forcing","all",.true.,"none",1
#"ocean_model","fprec","fprec",                                  "forcing","all",.true.,"none",1
#"ocean_model","vprec","vprec",                                  "forcing","all",.true.,"none",1
#"ocean_model","evap","evap",                                    "forcing","all",.true.,"none",1
##
"ocean_model","net_heat_coupler","net_heat_coupler",            "forcing%4yr_%2mo","all",.true.,"none",1
"ocean_model","net_heat_surface","net_heat_surface",            "forcing%4yr_%2mo","all",.true.,"none",1
"ocean_model","SW","SW",                                        "forcing%4yr_%2mo","all",.true.,"none",1
"ocean_model","LW","LW",                                        "forcing%4yr_%2mo","all",.true.,"none",1
"ocean_model","LwLatSens","LwLatSens",                          "forcing%4yr_%2mo","all",.true.,"none",1
#"ocean_model","salt_flux","salt_flux",                          "forcing","all",.true.,"none",1
"ocean_model","Heat_PmE","Heat_PmE",                            "forcing%4yr_%2mo","all",.true.,"none",1
#"ocean_model","frazil","frazil",                                "forcing","all",.true.,"none",1
#"ocean_model","internal_heat","internal_heat",                  "forcing","all",.true.,"none",1
"ocean_model","heat_added","heat_added",                       "forcing%4yr_%2mo","all",.true.,"none",1
##
"ocean_model","total_net_heat_coupler"       ,"total_net_heat_coupler",       "forcing%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_net_heat_surface"       ,"total_net_heat_surface",       "forcing%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_sw"                     ,"total_sw",                     "forcing%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_LwLatSens"              ,"total_LwLatSens",              "forcing%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_lw"                     ,"total_lw",                     "forcing%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_lat"                    ,"total_lat",                    "forcing%4yr_%2mo","all",.true.,"none",2
#"ocean_model","total_lat_evap"               ,"total_lat_evap",               "forcing","all",.true.,"none",2
#"ocean_model","total_lat_fprec"              ,"total_lat_fprec",              "forcing","all",.true.,"none",2
#"ocean_model","total_lat_frunoff"            ,"total_lat_frunoff",            "forcing","all",.true.,"none",2
"ocean_model","total_sens"                   ,"total_sens",                   "forcing%4yr_%2mo","all",.true.,"none",2
##"ocean_model","total_heat_added"            ,"total_heat_added",             "forcing","all",.true.,"none",2
#"ocean_model","total_salt_flux"              ,"total_salt_flux",              "forcing","all",.true.,"none",2
#"ocean_model","total_salt_flux_in"           ,"total_salt_flux_in",           "forcing","all",.true.,"none",2
##"ocean_model","total_salt_flux_added"       ,"total_salt_flux_added",        "forcing","all",.true.,"none",2
##
## Scalar fields for run-time monitoring:
##=======================================
#"ocean_model", "masso",               "masso",               "scalar",  "all", .true.,  "none",2  # global mean masscello
"ocean_model", "thetaoga",            "thetaoga",            "scalar%4yr_%2mo",  "all", .true.,  "none",2  # global mean theta
"ocean_model", "soga",                "soga",                "scalar%4yr_%2mo",  "all", .true.,  "none",2  # global mean salinity
"ocean_model", "tosga",               "tosga",               "scalar%4yr_%2mo",  "all", .true.,  "none",2  # area mean SST
"ocean_model", "sosga",               "sosga",               "scalar%4yr_%2mo",  "all", .true.,  "none",2  # area mean SSS
#"ocean_model", "volo",                "volo",                "scalar",  "all", .true.,  "none",2  # ocean volume
"ocean_model", "ssh_ga",              "ssh_ga",              "scalar%4yr_%2mo",  "all", .true.,  "none",2  # global mean ssh
"ocean_model", "total_salt_Flux_In",  "total_salt_Flux_In",   "scalar%4yr_%2mo",  "all", .true.,  "none",2  
"ocean_model", "total_salt_Flux_Added",  "total_salt_Flux_Added",   "scalar%4yr_%2mo",  "all", .true.,  "none",2  
"ocean_model", "total_salt_flux",  "total_salt_flux",   "scalar%4yr_%2mo",  "all", .true.,  "none",2  
"ocean_model", "net_fresh_water_global_adjustment",  "net_fresh_water_global_adjustment",   "scalar%4yr_%2mo",  "all", .true.,  "none",2  
"ocean_model", "salt_flux_global_restoring_adjustment",  "salt_flux_global_restoring_adjustment",   "scalar%4yr_%2mo",  "all", .true.,  "none",2  
"ocean_model", "total_PRCmE",          "total_PRCmE",           "scalar%4yr_%2mo",  "all", .true.,  "none",2  # global mean prcme
"ocean_model","total_evap","total_evap",                        "scalar%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_lprec","total_lprec",                      "scalar%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_fprec","total_fprec",                      "scalar%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_vprec","total_vprec",                      "scalar%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_precip","total_precip",                    "scalar%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_lrunoff","total_lrunoff",                  "scalar%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_frunoff","total_frunoff",                  "scalar%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_net_massin","total_net_massin" ,           "scalar%4yr_%2mo","all",.true.,"none",2
"ocean_model","total_net_massout","total_net_massout",          "scalar%4yr_%2mo","all",.true.,"none",2
#
## Static ocean fields:
##=====================
"ocean_model", "geolon",      "geolon",      "ocean_static", "all", .false., "none", 1
"ocean_model", "geolat",      "geolat",      "ocean_static", "all", .false., "none", 1
"ocean_model", "geolon_c",    "geolon_c",    "ocean_static", "all", .false., "none", 2
"ocean_model", "geolat_c",    "geolat_c",    "ocean_static", "all", .false., "none", 2
"ocean_model", "geolon_u",    "geolon_u",    "ocean_static", "all", .false., "none", 2
"ocean_model", "geolat_u",    "geolat_u",    "ocean_static", "all", .false., "none", 2
"ocean_model", "geolon_v",    "geolon_v",    "ocean_static", "all", .false., "none", 2
"ocean_model", "geolat_v",    "geolat_v",    "ocean_static", "all", .false., "none", 2
"ocean_model", "area_t",      "area_t",      "ocean_static", "all", .false., "none", 1
"ocean_model", "depth_ocean", "depth_ocean", "ocean_static", "all", .false., "none", 2
"ocean_model", "wet",         "wet",         "ocean_static", "all", .false., "none", 1
"ocean_model", "wet_c",       "wet_c",       "ocean_static", "all", .false., "none", 2
"ocean_model", "wet_u",       "wet_u",       "ocean_static", "all", .false., "none", 2
"ocean_model", "wet_v",       "wet_v",       "ocean_static", "all", .false., "none", 2
"ocean_model", "Coriolis",    "Coriolis",    "ocean_static", "all", .false., "none", 2
"ocean_model", "dxt",         "dxt",         "ocean_static", "all", .false., "none", 2
"ocean_model", "dyt",         "dyt",         "ocean_static", "all", .false., "none", 2
"ocean_model", "dxCu",        "dxCu",        "ocean_static", "all", .false., "none", 2
"ocean_model", "dyCu",        "dyCu",        "ocean_static", "all", .false., "none", 2
"ocean_model", "dxCv",        "dxCv",        "ocean_static", "all", .false., "none", 2
"ocean_model", "dyCv",        "dyCv",        "ocean_static", "all", .false., "none", 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions