A 5 year sample of the CMIP6 ocean data has been setup on NERSC under /global/homes/s/sbaldwin/scratch/cmip_sample/CMIP6/CMIP/E3SM-Project/E3SM-1-0/piControl/r1i1p1f1/
on acme1 at /p/user_pub/work/E3SM/cmip6_variables/piControl/CMIP6
the individual variable handlers at https://github.com/E3SM-Project/e3sm_to_cmip/tree/master/e3sm_to_cmip/cmor_handlers/<VARIABLE_NAME>
...
CMIP6 name
...
CMIP6 description
...
CF standard name
...
E3SM variable(s)
...
conversion formula
...
CMOR handler complete
...
Conversion Formula Verified by
Scientist
...
Notes
...
Scientist Assigned to Perform Final Quality Control on CMORized files
...
Date Verified
...
Data & Metadata Correct
(yes/no)
...
Notes if CMORized files are not correct
...
check on
v20190710
Data correct(yes/no)
...
tas
...
Near-Surface Air Temperature
...
air_temperature
...
TREFHT
...
tas = TREFHT
...
yes
...
J.Zhang
...
yes
...
ts
...
Surface Temperature
...
TS
...
A 5 year sample of the CMIP6 ocean data has been setup on NERSC under /global/homes/s/sbaldwin/scratch/cmip_sample/CMIP6/CMIP/E3SM-Project/E3SM-1-0/piControl/r1i1p1f1/
on acme1 at /p/user_pub/work/E3SM/cmip6_variables/piControl/CMIP6
the individual variable handlers at https://github.com/E3SM-Project/e3sm_to_cmip/tree/master/e3sm_to_cmip/cmor_handlers/<VARIABLE_NAME>
CMIP6 name | CMIP6 description | CF standard name | E3SM variable(s) | conversion formula | CMOR handler complete | Conversion Formula Verified by Scientist | Notes | Scientist Assigned to Perform Final Quality Control on CMORized files | Date Verified | Data & Metadata Correct (yes/no) | Notes if CMORized files are not correct | check on v20190710 Data correct(yes/no) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | tas | Near-Surface Air Temperature | air_temperature | TREFHT | tas = TREFHT | yes | J.Zhang | yes | |||||
2 | ts | Surface Temperature | TS | ts = TS | yes | J.Zhang | yes | ||||||
3 | psl | Sea Level Pressure | air_pressure_at_sea_level | PSL | psl = PSL | yes | J.Zhang | yes | |||||
4 | ps | Surface Air Pressure | PS | ps = PS | yes | J.Zhang | yes | ||||||
5 | sfcWind | Near-Surface Wind Speed | U10 | sfcWind = U10 | yes | J.Zhang | yes | ||||||
6 | huss | Near-Surface Specific Humidity | specific_humidity | QREFHT | huss = QREFHT | yes | J.Zhang | J.Zhang |
| yes | fixed | yes | |
7 | pr | Precipitation | precipitation_flux | PRECC , PRECL | pr = (PRECC + PRECL) * 1000.0 | yes | J.Zhang | J.Zhang |
| yes | fixed | yes | |
8 | prc | Convective Precipitation | convective_precipitation_flux | PRECC | prc = PRECC * 1000.0 | yes | J.Zhang | yes |
9 |
psl
Sea Level Pressure
air_pressure_at_sea_level
PSL
prsn | Snowfall Flux | snowfall_flux | PRECSC, PRECSL | prsn = (PRECSC + PRECSL) * 1000.0 | yes | J.Zhang | yes |
10 |
ps
Surface Air Pressure
PS
evspsbl | Evaporation Including Sublimation and Transpiration | QFLX | evspsbl = QFLX | yes | J.Zhang | yes |
11 |
tauu |
Surface |
U10
sfcWind = U10
yes
J.Zhang
yes
huss
Near-Surface Specific Humidity
specific_humidity
QREFHT
Downward Eastward Wind Stress | surface_downward_eastward_stress | TAUX | tauu = -TAUX | yes | J.Zhang | Note, I was analyzing this variable from e3sm output. It turns out that TAUX(Y) is surface stress, which is in opposite direction to tauu(v) (wind stress). This was not caught in CAM's conversion table. | yes | ||||
12 | tauv | Surface Downward Northward Wind Stress | surface_downward_northward_stress | TAUY | tauv =- TAUY | yes | J.Zhang |
J.Zhang
Same as above | yes |
13 |
yes
pr
Precipitation
precipitation_flux
PRECC , PRECL
hfls | Surface Upward Latent Heat Flux | LHFLX | hfls = LHFLX | yes | J.Zhang |
J.Zhang
yes
fixed
yes
prc
Convective Precipitation
convective_precipitation_flux
PRECC
yes | |||||||||||||
14 | clt | Total Cloud Cover Percentage | CLDTOT | clt = CLDTOT * 100.0 | yes | yes | |||||||
15 | rlds | Surface Downwelling Longwave Radiation | surface_downwelling_longwave_flux_in_air | FLDS | rlds = FLDS | yes | J.Zhang | yes |
16 |
prsn
Snowfall Flux
snowfall_flux
PRECSC, PRECSL
tauv
Surface Downward Northward Wind Stress
surface_downward_northward_stress
TAUY
rlus | Surface Upwelling Longwave Radiation | surface_upwelling_longwave_flux_in_air | FLDS, FLNS | rlus = FLDS + FLNS | yes | J.Zhang |
yes
evspsbl
Evaporation Including Sublimation and Transpiration
QFLX
evspsbl = QFLX
yes
J.Zhang
yes
tauu
Surface Downward Eastward Wind Stress
surface_downward_eastward_stress
TAUX
tauu = -TAUX
yes
J.Zhang
Note, I was analyzing this variable from e3sm output. It turns out that TAUX(Y) is surface stress, which is in opposite direction to tauu(v) (wind stress). This was not caught in CAM's conversion table.
yes
J.Zhang |
| yes | fixed | yes | |||||||||
17 | rsds | Surface Downwelling Shortwave Radiation | surface_downwelling_shortwave_flux_in_air | FSDS | rsds = FSDS | yes | J.Zhang | yes (corrected direction ) | |||||
18 | rsus | Surface Upwelling Shortwave Radiation | surface_upwelling_shortwave_flux_in_air | FSDS, FSNS | rsus = FSDS - FSNS | yes | J.Zhang |
yes |
19 |
hfss | Surface Upward |
LHFLX
Sensible Heat Flux | surface_upward_sensible_heat_flux | SHFLX | hfss = SHFLX | yes | J.Zhang | yes |
20 |
cl |
Percentage Cloud Cover |
CLOUD |
cl = |
CLOUD *100.0 |
yes
on model levels | yes |
rlds
Surface Downwelling Longwave Radiation
surface_downwelling_longwave_flux_in_air
FLDS
rlds = FLDS
yes
J.Zhang
yes
rlus
Surface Upwelling Longwave Radiation
surface_upwelling_longwave_flux_in_air
FLDS, FLNS
rlus = FLDS + FLNS
yes
J.Zhang
yes
fixed
yes
rsds
Surface Downwelling Shortwave Radiation
surface_downwelling_shortwave_flux_in_air
FSDS
rsds = FSDS
yes
J.Zhang
yes (corrected direction )
rsus
Surface Upwelling Shortwave Radiation
surface_upwelling_shortwave_flux_in_air
FSDS, FSNS
rsus = FSDS - FSNS
yes
J.Zhang
yes
hfss
Surface Upward Sensible Heat Flux
surface_upward_sensible_heat_flux
SHFLX
hfss = SHFLX
yes
J.Zhang
yes
cl
Percentage Cloud Cover
CLOUD
cl = CLOUD *100.0
on model levels
yes
cli
Mass Fraction of Cloud Ice
CLDICE
cli = CLDICE
on model levels
For consistency with clivi, don't include snow in cli.
yes
clivi
Ice Water Path
atmosphere_cloud_ice_content
TGCLDIWP
clivi = TGCLDIWP
yes
TGCLDIWP doesn't include snow water path.
yes
clw
Mass Fraction of Cloud Liquid Water
CLDLIQ
clw = CLDLIQ
on model levels
For consistency with clwvi, don't include rain in clw.
yes
clwvi
Condensed Water Path
atmosphere_cloud_condensed_water_content
clwvi = TGCLDCWP
yes
TGCLDCWP doesn't include rain and snow water path.
yes
hur
Relative Humidity
RELHUM
hur = RELHUM
interpolated to 19 pressure levels
21 | cli | Mass Fraction of Cloud Ice | CLDICE | cli = CLDICE | on model levels For consistency with clivi, don't include snow in cli. | yes | |||||||
22 | clivi | Ice Water Path | atmosphere_cloud_ice_content | TGCLDIWP | clivi = TGCLDIWP | yes | TGCLDIWP doesn't include snow water path. | yes | |||||
23 | clw | Mass Fraction of Cloud Liquid Water | CLDLIQ | clw = CLDLIQ | on model levels For consistency with clwvi, don't include rain in clw. | yes | |||||||
24 | clwvi | Condensed Water Path | atmosphere_cloud_condensed_water_content | clwvi = TGCLDCWP | yes | TGCLDCWP doesn't include rain and snow water path. | yes | ||||||
25 | hur | Relative Humidity | RELHUM | hur = RELHUM | interpolated to 19 pressure levels | J.Zhang |
| yes | fixed | yes | |||
26 | hus | Specific Humidity | Q | hus = Q | interpolated to 19 pressure levels | yes | |||||||
27 |
|
| |||||||||||
28 | o3 | Mole Fraction of O3 | O3 | o3 = O3 | interpolated to 19 pressure levels. Philip Cameron-Smith (Unlicensed): Yes, the E3SM variable O3 is what is wanted here. However, it would be good to note somehow that "Stratospheric ozone is prognostic, and tropospheric ozone follows the input4mips prescribed concentrations." | yes | |||||||
29 | pfull | Pressure at Model Full-Levels | P0, PS, hyam, hybm | pfull = P0*hyam + PS*hybm | J.Zhang |
| yes | fixed | yes(pfull is monthly data instead of climotology according to our formula. cmor asks for climatology but it is not clear years to average over. It is safer to have monthly data and consistent with other Amon variables ) | ||||
30 | phalf | Pressure on Model Half-Levels | P0, PS, hyai, hybi | phalf = P0*hyai + PS*hybi | J.Zhang |
| yes | fixed | yes(same as above) |
31 |
hus
Specific Humidity
Q
prw | Water Vapor Path | TMQ | prw = TMQ |
yes |
mc
Convective Mass Flux
o3
Mole Fraction of O3
O3
o3 = O3
interpolated to 19 pressure levels.
Philip Cameron-Smith (Unlicensed): Yes, the E3SM variable O3 is what is wanted here. However, it would be good to note somehow that "Stratospheric ozone is prognostic, and tropospheric ozone follows the input4mips prescribed concentrations."
yes
pfull
Pressure at Model Full-Levels
P0, PS, hyam, hybm
pfull = P0*hyam + PS*hybm
J.Zhang
yes
fixed
yes(pfull is monthly data instead of climotology according to our formula. cmor asks for climatology but it is not clear years to average over. It is safer to have monthly data and consistent with other Amon variables )
phalf
Pressure on Model Half-Levels
P0, PS, hyai, hybi
phalf = P0*hyai + PS*hybi
J.Zhang
yes
fixed
yes(same as above)
prw
Water Vapor Path
TMQ
prw = TMQ
yes
rldscs
Surface Downwelling Clear-Sky Longwave Radiation
32 | rldscs | Surface Downwelling Clear-Sky Longwave Radiation | surface_downwelling_longwave_flux_in_ air_assuming_clear_sky | FLDS, FLNS, FLNSC | rldscs = FLDS + FLNS - FLNSC | yes | J.Zhang |
| yes | fixed | yes | ||
33 | rlut | TOA Outgoing Longwave Radiation | toa_outgoing_longwave_flux | FSNTOA, FSNT, FLNT | rlut = FSNTOA - FSNT + FLNT | yes | Equation originally from NCAR. Using this ensures that individual TOA terms (SW, LW, up/down) are consistent with TOM net flux (rtmt): rtmt = rsdt - rsut - rlut | J.Zhang |
| yes | fixed | yes | |
34 | rlutcs | TOA Outgoing Clear-Sky Longwave Radiation | toa_outgoing_longwave_flux_assuming_ clear_sky | FLUTC | rlutcs = FLUTC | yes | Slight approximation here since we are using TOM, but NCAR does the same. | J.Zhang | yes | fixed | yes | ||
35 | rsdscs | Surface Downwelling Clear-Sky Shortwave Radiation | surface_downwelling_shortwave_flux_in_ air_assuming_clear_sky |
FLDS, FLNS, FLNSC
FSDSC | rsdscs = FSDSC | yes | J.Zhang |
| yes | fixed | yes |
36 |
rsdt | TOA |
Incident Shortwave Radiation |
toa_outgoing_longwave_flux
FSNTOA, FSNT, FLNT
SOLIN | rsdt = SOLIN | yes |
Equation originally from NCAR. Using this ensures that individual TOA terms (SW, LW, up/down) are consistent with TOM net flux (rtmt):
rtmt = rsdt - rsut - rlutJ.Zhang |
| yes | fixed | yes |
37 |
rsuscs |
Surface Upwelling Clear-Sky |
Shortwave Radiation |
surface_ |
upwelling_ |
shortwave_flux_in_ air_assuming_clear_sky |
FSDSC, FSNSC |
rsuscs = |
FSDSC - FSNSC | yes |
Slight approximation here since we are using TOM, but NCAR does the same.
J.Zhang
yes |
rsdscs
38 |
yes
rsut | TOA Outgoing Shortwave Radiation |
toa_ |
outgoing_shortwave_flux |
FSDSC
rsdscs = FSDSC
yes
J.Zhang
yes
fixed
yes
rsdt
TOA Incident Shortwave Radiation
SOLIN
FSUTOA | rsut = FSUTOA (v2) rsut =SOLIN - FSNTOA (v3) For v3 output, both FSUTOA and FSUTOAC are removed. This PR is to update formula to use available variables, i.e., rsut = SOLIN - FSNTOA, and rsutcs = SOLIN - FSNTOAC | yes | yes | |||||||
39 | rsutcs | TOA Outgoing Clear-Sky Shortwave Radiation | toa_outgoing_shortwave_flux_assuming_ clear_sky | FSUTOAC | rsutcs = FSUTOAC (v2) rsutcs = SOLIN - FSNTOAC (v3) | yes |
J.Zhang
yes |
40 |
yes
rsuscs
Surface Upwelling Clear-Sky Shortwave Radiation
surface_upwelling_shortwave_flux_in_ air_assuming_clear_sky
FSDSC, FSNSC
rtmt
Net Downward Radiative Flux at Top of Model
net_downward_radiative_flux_at_top_of_ atmosphere_model
FSNT, FLNT
rtmt = FSNT - FLNT
yes
yes
ta
Air Temperature
T
rtmt | Net Downward Radiative Flux at Top of Model | net_downward_radiative_flux_at_top_of_ atmosphere_model | FSNT, FLNT | rtmt = FSNT - FLNT | yes | yes |
rsut
TOA Outgoing Shortwave Radiation
toa_outgoing_shortwave_flux
FSUTOA
rsut = FSUTOA
yes
yes
rsutcs
TOA Outgoing Clear-Sky Shortwave Radiation
toa_outgoing_shortwave_flux_assuming_ clear_sky
FSUTOAC
rsutcs = FSUTOAC
yes
yes
tasmin
Daily Minimum Near-Surface Air Temperature
TREFHTMN
TREFMNAV (available on h0 starting v2)
J. Zhang
Same as above
ua
Eastward Wind
U
ua = U
interpolated to 19 pressure levels
yes
va
Northward Wind
V
va = V
interpolated to 19 pressure levels
yes
wap
Omega (=dp/dt)
OMEGA
wap = OMEGA
interpolated to 19 pressure levels
J.Zhang
yes
fixed
yes
zg
Geopotential Height
Z3
zg = Z3
interpolated to 19 pressure levels
yes
AERmon
abs550aer
Ambient Aerosol Absorption Optical Thickness at 550nm
AODABS
abs550aer = AODABS
J. Zhang
yes
od550aer
Ambient Aerosol Optical Thickness at 550nm
AODVIS
od550aer = AODVIS
J. Zhang
yes
airmass
Vertically Integrated Mass Content of Air in Layer
atmosphere_mass_of_air_per_unit_area
ptp
Tropopause Air Pressure
TROP_P
ptp = TROP_P
so2
SO2 Volume Mixing Ratio
mole_fraction_of_sulfur_dioxide_in_air
SO2
so2 = SO2
mmrbc
Elemental Carbon Mass Mixing Ratio
Mass_bc
mmrbc=Mass_bc
mmrdust
Dust Aerosol Mass Mixing Ratio
Mass_dust
mmrdust=Mass_dust
mmroa
Total Organic Aerosol Mass Mixing Ratio
Mass_pom
mmroa = Mass_pom/1.4
mmrsoa
Secondary Organic Aerosol Mass Mixing Ratio
Mass_soa
mmrsoa = Mass_soa
mmrss
Sea-Salt Aerosol Mass Mixing Ratio
Mass_ncl
mmrss = Mass_ncl
mmrso4
Aerosol Sulfate Mass Mixing Ratio
Mass_so4
mmrso4 = Mass_so4*96/115
emibc
Total Emission Rate of Black Carbon Aerosol Mass
SFbc_a4, bc_a4_CLXF
emibc = SFbc_a4 + bc_a4_CLXF*12/6.022e+22
emidust
Total Emission Rate of Dust
SFdst_a1, SFdst_a3
emidust=SFdst_a1 + SFdst_a3
emioa
Primary Emission and Chemical Production of Dry Aerosol Organic Matter
SFpom_a4,
pom_a4_CLXF,
soa_a1_sfgaex1,
soa_a2_sfgaex1,
soa_a3_sfgaex1
41 | ta | Air Temperature | T | ta = T | interpolated to 19 pressure levels | yes | |||||||
42 |
|
|
TREFMXAV (available on h0 starting v2) | J. Zhang | Update The monthly averaged daily mean max/min surface temperature are now standard output on h0 starting v2. We cannot use monthly h0 output for this. But the necessary data is in daily h1 files. We would have to create time series of monthly averages from these daily files. double checked that TREFHTMX and TREFHTMN saved to h1 have the same values as TREFHT. Checked code in cam_diagnostics.F90, TREFMNAV and TREFMXAV should be the correct field to output. Unfortunately, those high frequency data saved are not useful | ||||||||
43 |
|
|
TREFMNAV (available on h0 starting v2) | J. Zhang | Same as above | ||||||||
44 | ua | Eastward Wind | U | ua = U | interpolated to 19 pressure levels | yes | |||||||
45 | va | Northward Wind | V | va = V | interpolated to 19 pressure levels | yes |
tasmax
Daily Maximum Near-Surface Air Temperature
TREFHTMX
TREFMXAV (available on h0 starting v2)
J. Zhang
Update
The monthly averaged daily mean max/min surface temperature are now standard output on h0 starting v2.
We cannot use monthly h0 output for this. But the necessary data is in daily h1 files. We would have to create time series of monthly averages from these daily files. double checked that TREFHTMX and TREFHTMN saved to h1 have the same values as TREFHT. Checked code in cam_diagnostics.F90, TREFMNAV and TREFMXAV should be the correct field to output. Unfortunately, those high frequency data saved are not useful
46 | wap | Omega (=dp/dt) | OMEGA | wap = OMEGA | interpolated to 19 pressure levels | J.Zhang | yes | fixed | yes | ||||
47 | zg | Geopotential Height | Z3 | zg = Z3 | interpolated to 19 pressure levels | yes | |||||||
48 | AERmon | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
49 | abs550aer | Ambient Aerosol Absorption Optical Thickness at 550nm | AODABS | abs550aer = AODABS | J. Zhang | yes | |||||||
50 | od550aer | Ambient Aerosol Optical Thickness at 550nm | AODVIS | od550aer = AODVIS | J. Zhang | yes | |||||||
51 | so2 | SO2 Volume Mixing Ratio | mole_fraction_of_sulfur_dioxide_in_air | SO2 | so2 = SO2 | ||||||||
52 | mmrbc | Elemental Carbon Mass Mixing Ratio | Mass_bc or bc_a1, bc_a3, bc_a4, bc_c1, bc_c3, bc_c4 | mmrbc=Mass_bc or bc_a1 + bc_a3 +bc_a4 + bc_c1 + bc_c3 + bc_c4 | |||||||||
53 | mmrdust | Dust Aerosol Mass Mixing Ratio | Mass_dust or dst_a1, dst_a3, dst_c1, dst_c3 | mmrdust=Mass_dust or dst_a1 + dst_a3 + dst_c1 + dst_c3 | |||||||||
54 | mmroa | Total Organic Aerosol Mass Mixing Ratio | Mass_pom + Mass_soa or pom_a1, pom_a3, pom_a4, soa_a1, soa_a2, soa_a3, pom_c1, pom_c3, pom_c4, soa_c1, soa_c2, soa_c3 | mmroa = Mass_pom + Mass_soa or pom_a1 + pom_a3 + pom_a4 + soa_a1 + soa_a2 + soa_a3 + pom_c1 + pom_c3 + pom_c4 + soa_c1 + soa_c2 + soa_c3 | |||||||||
55 | mmrsoa | Secondary Organic Aerosol Mass Mixing Ratio | Mass_soa or soa_a1, soa_a2, soa_a3, soa_c1, soa_c2, soa_c3 | mmrsoa = Mass_soa or soa_a1 + soa_a2 + soa_a3 + soa_c1 + soa_c2 + soa_c3 | |||||||||
56 | mmrss | Sea-Salt Aerosol Mass Mixing Ratio | Mass_ncl or ncl_a1, ncl_a2, ncl_a3, ncl_c1, ncl_c2, ncl_c3 | mmrss = Mass_ncl or ncl_a1 + ncl_a2 + ncl_a3 + ncl_c1 + ncl_c2 + ncl_c3 | |||||||||
57 | mmrso4 | Aerosol Sulfate Mass Mixing Ratio | Mass_so4 or so4_a1, so4_a2, so4_a3, so4_a5, so4_c1, so4_c2, so4_c3, so4_c5 | mmrso4 = Mass_so4*96.0636/115.10734 or (so4_a1 + so4_a2 + so4_a3 + so4_a5 + so4_c1 + so4_c2 + so4_c3 + so4_c5)*96.0636/115.10734 | v1/v2 use MAM4 which don’t have so4_a5/c5 should multiply by 96/115 since sulfate is NH4HSO4 in default MAM5/MAM4 | ||||||||
58 | emibc | Total Emission Rate of Black Carbon Aerosol Mass | SFbc_a4, bc_a4_CLXF | emibc = SFbc_a4 + bc_a4_CLXF*12.011/6.022e+22 | |||||||||
59 | emidust | Total Emission Rate of Dust | SFdst_a1, SFdst_a3 | emidust = SFdst_a1 + SFdst_a3 | |||||||||
60 | emiss | Total Emission Rate of Sea Salt | SFncl_a1, SF_a2, SFncl_a3 | emiss = SFncl_a1 + SFncl_a2 + SFncl_a3 | |||||||||
61 | emioa | Primary Emission and Chemical Production of Dry Aerosol Organic Matter | SFpom_a4, pom_a4_CLXF, soa_a1_sfgaex1, soa_a2_sfgaex1, soa_a3_sfgaex1 | emioa = SFpom_a4 + pom_a4_CLXF*12.011/6.022e+22 + soa_a1_sfgaex1 + soa_a2_sfgaex1 + soa_a3_sfgaex1 | |||||||||
62 | emiso4 | Total Direct Emission Rate of SO4 | SFso4_a1, SFso4_a2, SFso4_a3, so4_a1_CLXF, so4_a2_CLXF | emiso4 = (SFso4_a1 + SFso4_a2 + SFso4_a3)*96.0636/115.10734 + (so4_a1_CLXF + so4_a2_CLXF)*96.0636/6.022e+22 |
63 | emiso2 | Total Emission Rate of SO2 | SFSO2, SO2_CLXF | emiso2 = SFSO2 |
+ SO2_CLXF*64.0648/6.022e+22 | |||||||||||||
64 |
* 51-65 rows: Not yet verified or added to e3sm_to_cmip workflow.
...