CanCPL variable tables (CanESM v6.0) ==================================== Definitions ----------- **Field Sent**: Names of fields before the regrid; received from the component models. The first entry is the name used in the coupler; the second is the name used in the component model. Currently, there may be multiple entries for a given field, if the field has multiple destination fields it affects. Later work will reformat the table so that cells can span multiple rows where needed. **TODO: add component internal names and review!** **Field Received**: names of fields after the regrid; passed to the component models. **TODO: add component internal names** **Field Description**: CanCPL's internal description of the field. **Rep Area**: Area that the field represents, mainly for flux units in mixed land/ocean/sea ice grid cells. E.g. does m\ :sup:`-2` mean per *total* cell area or per *ocean-only* area? **needs review from nemo/canam experts!** * C = complete area of grid cells (land, open ocean, and sea ice) * OI = full non-land component of grid cells (open ocean and sea ice) * O = open ocean component of grid cells * I = sea ice compoment of grid cells **Sign**: For fluxes. Refers to whether positive values are flux into or out of the ocean/atmosphere. **I think? Needs review!** **Units**: Physical units of the field. A "1" indicates a unitless quantity. **Time Avg**: Whether the field is passed to/from the component model as a time average or instantaneous value. **needs review from nemo/canam experts!** **Pre-proc**: Transformations performed on fields before the regrid. The resulting field is the quantity that actually enters the ESMF FieldRegrid operation. A blank cell under **Pre-proc** indicates that the **Field Sent** is remapped directly. **Remap Options**: flags and options passed to the ESMF FieldRegrid objects. * short hand for the regrid method: * cv = conservative * cv2 = conserve_2nd * bl = bilinear * blv = bilinear_vec * fracarea (fractional area) refers to the normalization type * src mask and dst mask refer to application of a land/ocean mask to the src grid or dst grid. In most cases, it is applied to the ocean grid, if any. * dyn mask: **Post-proc**: Transformations performed on fields after the regrid. **Destination**: corresponding names of fields after the regrid; passed to the component models. Note that some **Fields Sent** have multiple **Destination** entries. Transformations and remap settings may differ with destination. **add component internal names** **Source**: Corresponding names of fields before the regrid; received from the component models. **add component internal names** **Namelist Param**: For NEMO fields. The namelist parameter and value that configure the treatment of the field on the NEMO side. See ``namelist_cfg`` and ``namelist_ref``. .. _heat-budget: Heat budget correction ---------------------- `Source code for heat budget correction. `_ Heat budget (:math:`E-P-R`) is calculated and the excess (deficit) is added to (subtracted from) O_QnsMix. The spatially resolved energy budget is given by :math:`E-P-R=Q_{\mathrm{snow}} + Q_{\mathrm{rof}} + Q_{\mathrm{water}}`, where: :math:`Q_{\mathrm{snow}}` = -1 * :math:`C_P` * min(0, O_TepIce - 273.15) * OTotSnow, :math:`Q_{\mathrm{rof}}` = -1 * :math:`C_P` * max(0, O_SSTSST - 273.15) * O_Runoff, :math:`Q_{\mathrm{water}}` = -1 * :math:`C_P` * max(0, O_SSTSST - 273.15) * (OTotEvap - OTotRain), and the specific heat of ocean is :math:`C_P` = 3991.86795711963 J K\ :sup:`-1` kg\ :sup:`-1`. The result is integrated over the grid as :math:`Q_{\mathrm{global}}` = :math:`\sum (E - P -R )` * e1t * e2t * tmask. We then compute the temperature change needed to zero the heat flux due to :math:`E-P-R`, which is :math:`\Delta T_{\mathrm{global}}` = :math:`Q_{\mathrm{global}}/C_P` * :math:`\sum` (OTotRain + OTotEvap) * e1t * e2t * tmask. Finally the quantity :math:`Q_{\mathrm{corr}}` is added to O_QnsMix: :math:`Q_{\mathrm{corr}}` = :math:`C_P \Delta T_{\mathrm{global}}` * (OTotRain + OTotEvap). .. _river-route: River routing process --------------------- ROF_atm_{YY} and ROFO_atm_{YY} are regridded from Yin/Yang grids to the river grid. This is a conservative, fractional area remap, with no masking. As with other remaps from Yin/Yang, the original field has overlaps removed through the process described in :ref:`overlap-rm`. Similarly, the resulting field (on the river grid) is taken as the sum of yin and yang components, divided by the seam correction (:ref:`seam-corr`). At this point, negative values are set to zero. The resulting fields, ``total_runoff`` and ``overland_runoff``, are passed to the ``river_routing`` subroutine, which returns a flux into the oceans, ``output_ocean_flux``. Finally, ``output_ocean_flux`` is remapped from the river grid to the eORCA grid, using conservative and fractional area options and destination (ocean) masking. The overlying subroutine for the process is `here `_ and is called `here `_. The underlying river routing subroutine is defined `here `_. .. _river-spread: Runoff spreading process ----------------------- After the river runoff is regridded onto the ocean grid, an additional runoff spreading step is performed. This is encapsulated in `this subroutine `_, which is called `here `_. The underlying runoff spreading subroutine is defined `here `_ .. _overlap-rm: Overlap removal via Goddard weights ----------------------------------- Each atmosphere field on Yin and Yang is weighted by field GMSK_atm_{YY} just prior to regridding: {field}_{YY} = GMSK_atm_{YY} * {field}_{YY}. Within overlapping regions, GMSK_atm_{YY} takes values between 0 and 1 that weight Yin and Yang so that the components are properly normalized when combined. In non-overlap regions, GMSK_atm_{YY} has values of 0 or 1. The overlap subroutine defined `here `_ and called `here. `_ .. _seam-corr: Seam correction --------------- The majority of the Yin-Yang overlap region is reconciled via the process described in :ref:`overlap-rm`, however, there is still an artifact that remains at the "seam" (picture a tennis ball). This is removed after the field is regridded onto the destination grid (ocean or river grid, e.g.). First, we regrid the Goddard weights (GMSK_atm_{YY}) to the destination grid. Then the final resulting field is {field}_orca = ( {field}_from_yin + {field}_from_yang ) / seam_correction, where seam_correction is the sum of the remapped GMSK_atm_{YY} components. The seam correction is defined `here `_, called `here `_, and applied `here `_ .. _dyn-mask: Dynamic masking --------------- For dynamic masking, the src dyn mask value provided in the tables indicates the **source field value that gets masked** during regridding, while the dst dyn mask value indicates the **fill value** for orphaned cells in the destination field. The general process is as follows: Dynamic masking is enabled by setting the fortran variables ``src_dynmask_local`` and ``dst_dynmask_local`` (See `here `_ and `here `_) to real values, and "disabled" by setting these to ``HUGE``. Where the land/ocean masks are static and associated with a grid object, dynamic masking allows us to apply a mask over specific values within the field itself. The mask itself can thus evolve in time. The masked values are indicated by ``src_dynmask_local``. The value of ``dst_dynmask_local`` is used to fill in destination cells that have no co-located source cells because of the dynamic mask. At present, both are set to zero, but ESMF allows any real value. A value of ``HUGE`` does not truly disable the dynamic masking operations, but it is exceedingly unlikely that physical values equal to ``HUGE`` will ever appear in the source field, thus the process is effectively disabled. The actual treatment of dynamically masked values occurs in the subroutine `simpleDynMaskProc `_, which effectively removes these values from the regridding process and fills in missing values on the destination grid. Fields sent by CanAMg --------------------- Wind fields *********** .. list-table:: :header-rows: 1 * - Field Sent - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Pre-proc - Remap Options - Post-proc - Destination - Comments * - | UFSO_atm_{YY} | UFSOROL - Zonal Atm-Ocn Wind Stress - O - pos up - N m\ :sup:`-2` - Yin/Yang - Avg - | -1*UFSO_atm_{YY} | :ref:`overlap-rm` - | blv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_OTaux1 - | Source code links: `Pre-proc `_ * - | VFSO_atm_{YY} | VFSOROL - Meridional Atm-Ocn Wind Stress - O - pos up - N m\ :sup:`-2` - Yin/Yang - Avg - | -1*VFSO_atm_{YY} | :ref:`overlap-rm` - | blv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_OTauy1 - | Source code links: `Pre-proc `_ * - | UFSI_atm_{YY} | UFSIROL - Zonal Atm-Ice Wind Stress - I - pos up - N m\ :sup:`-2` - Yin/Yang - Avg - | -1*UFSI_atm_{YY} | :ref:`overlap-rm` - | blv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_ITaux1 - | Source code links: `Pre-proc `_ * - | VFSI_atm_{YY} | VFSIROL - Meridional Atm-Ice Wind Stress - I - pos up - N m\ :sup:`-2` - Yin/Yang - Avg - | -1*VFSI_atm_{YY} | :ref:`overlap-rm` - | blv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_ITauy1 - | Source code links: `Pre-proc `_ * - | SWMX_atm_{YY} | SWAROL - 10 meter wind - C - N/A - m s\ :sup:`-1` - Yin/Yang - Avg - | :ref:`overlap-rm` - | blv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_Wind10 - Water fluxes ************ .. list-table:: :header-rows: 1 * - Field Sent - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Pre-proc - Remap Options - Post-proc - Destination - Comments * - | ROF_atm_{YY} | ROFROL - Total Runoff in land - OI - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - :ref:`river-route` - | cv, fracarea, src mask = F | dst mask = F (riv) / T (ocn) | src/dst dyn mask = HUGE/HUGE - :ref:`river-spread` - O_Runoff - * - | ROFO_atm_{YY} | ROFOROL - Surface Runoff in land - OI - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - :ref:`river-route` - | cv, fracarea, src mask = F | dst mask = F (riv) / T (ocn) | src/dst dyn mask = HUGE/HUGE - :ref:`river-spread` - O_Runoff - * - | BWGO_atm_{YY} | BWGOROL - Ocean Freshwater Budget (P-E) - O - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - | RAIN_atm_{YY} + SNOW_atm_{YY} - (BWGI_atm_{YY} | * SICN_atm_{YY} + BWGO_atm_{YY} * (1-SICN_atm_{YY})) | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - OTotEvap - | Source code links: `Pre-proc `_ * - | RAIN_atm_{YY} | RAINROL - Total liquid precipitation - C - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`seam-corr` | Negative values set to zero - OTotRain - * - | RAIN_atm_{YY} | RAINROL - Total liquid precipitation - C - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - | RAIN_atm_{YY} + SNOW_atm_{YY} - (BWGI_atm_{YY} | * SICN_atm_{YY} + BWGO_atm_{YY} * (1-SICN_atm_{YY})) | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - OTotEvap - | Source code links: `Pre-proc `_ * - | RAIN_atm_{YY} | RAINROL - Total liquid precipitation - C - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - | RAIN_atm_{YY} + SNOW_atm_{YY} - BWGI_atm_{YY} | Values :math:`<10^{-10}` set to 0 | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - OIceEvap - | Source code links: `Pre-proc `_ * - | SNOW_atm_{YY} | SNOWROL - Total solid precipitation - C - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`seam-corr` | Negative values set to zero - OTotSnow - * - | SNOW_atm_{YY} | SNOWROL - Total solid precipitation - C - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - | RAIN_atm_{YY} + SNOW_atm_{YY} - (BWGI_atm_{YY} | * SICN_atm_{YY} + BWGO_atm_{YY} * (1-SICN_atm_{YY})) | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - OTotEvap - | Source code links: `Pre-proc `_ * - | SNOW_atm_{YY} | SNOWROL - Total solid precipitation - C - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - | RAIN_atm_{YY} + SNOW_atm_{YY} - BWGI_atm_{YY} | Values :math:`<10^{-10}` set to 0 | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - OIceEvap - | Source code links: `Pre-proc `_ * - | BWGI_atm_{YY} | BWGIROL - Sea Ice Freshwater Budget (P-E) - I - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - | RAIN_atm_{YY} + SNOW_atm_{YY} - (BWGI_atm_{YY} | * SICN_atm_{YY} + BWGO_atm_{YY} * (1-SICN_atm_{YY})) | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - OTotEvap - | Source code links: `Pre-proc `_ * - | BWGI_atm_{YY} | BWGIROL - Sea Ice Freshwater Budget (P-E) - I - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Avg - | RAIN_atm_{YY} + SNOW_atm_{YY} - BWGI_atm_{YY} | Values :math:`<10^{-10}` set to 0 | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - OIceEvap - | Source code links: `Pre-proc `_ Heat fluxes *********** .. list-table:: :header-rows: 1 * - Field Sent - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Pre-proc - Remap Options - Post-proc - Destination - Comments * - | FSGO_atm_{YY} | FSGOROL - Solar Flux over Ocean - O - pos down - W m\ :sup:`-2` - Yin/Yang - Avg - | (1-SICN_atm_{YY})*FSGO_atm_{YY} | + SICN_atm_{YY}*FSGI_atm_{YY}; | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_QsrMix - | Source code links: `Pre-proc `_ * - | FSGO_atm_{YY} | FSGOROL - Solar Flux over Ocean - O - pos down - W m\ :sup:`-2` - Yin/Yang - Avg - | (1-SICN_atm_{YY})*(BEGO_atm_{YY}-FSGO_atm_{YY}) | + SICN_atm_{YY}*(BEGI_atm_{YY}-FSGI_atm_{YY}) | :ref:`overlap-rm` - | cv2, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`seam-corr` | :ref:`heat-budget` - O_QnsMix - | Source code links: `Pre-proc `_ * - | FSGI_atm_{YY} | FSGIROL - Solar Flux over Sea Ice - I - pos down - W m\ :sup:`-2` - Yin/Yang - Avg - | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_QsrIce - * - | FSGI_atm_{YY} | FSGIROL - Solar Flux over Sea Ice - I - pos down - W m\ :sup:`-2` - Yin/Yang - Avg - | (1-SICN_atm_{YY})*FSGO_atm_{YY} | + SICN_atm_{YY}*FSGI_atm_{YY} | :ref:`overlap-rm` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_QsrMix - | Source code links: `Pre-proc `_ * - | FSGI_atm_{YY} | FSGIROL - Solar Flux over Sea Ice - I - pos down - W m\ :sup:`-2` - Yin/Yang - Avg - | BEGI_atm_{YY} - FSGI_atm_{YY} | :ref:`overlap-rm` - | cv2, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_QnsIce - | Source code links: `Pre-proc `_ * - | FSGI_atm_{YY} | FSGIROL - Solar Flux over Sea Ice - I - pos down - W m\ :sup:`-2` - Yin/Yang - Avg - | (1-SICN_atm_{YY})*(BEGO_atm_{YY}-FSGO_atm_{YY}) | + SICN_atm_{YY}*(BEGI_atm_{YY}-FSGI_atm_{YY}) | :ref:`overlap-rm` - | cv2, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`seam-corr` | :ref:`heat-budget` - O_QnsMix - | Source code links: `Pre-proc `_ * - | BEGO_atm_{YY} | BEGOROL - Total Heat Flux over ocean - O - pos down - W m\ :sup:`-2` - Yin/Yang - Avg - | (1-SICN_atm_{YY})*(BEGO_atm_{YY}-FSGO_atm_{YY}) | + SICN_atm_{YY}*(BEGI_atm_{YY}-FSGI_atm_{YY}) | :ref:`overlap-rm` - | cv2, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`seam-corr` | :ref:`heat-budget` - O_QnsMix - | Source code links: `Pre-proc `_ * - | BEGI_atm_{YY} | BEGIROL - Total Heat Flux over sea ice - I - pos down - W m\ :sup:`-2` - Yin/Yang - Avg - | BEGI_atm_{YY} - FSGI_atm_{YY} | :ref:`overlap-rm` - | cv2, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_QnsIce - | Source code links: `Pre-proc `_ * - | BEGI_atm_{YY} | BEGIROL - Total Heat Flux over sea ice - I - pos down - W m\ :sup:`-2` - Yin/Yang - Avg - | (1-SICN_atm_{YY})*(BEGO_atm_{YY}-FSGO_atm_{YY}) | + SICN_atm_{YY}*(BEGI_atm_{YY}-FSGI_atm_{YY}) | :ref:`overlap-rm` - | cv2, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`seam-corr` | :ref:`heat-budget` - O_QnsMix - | Source code links: `Pre-proc `_ Other fields ************ .. list-table:: :header-rows: 1 * - Field Sent - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Pre-proc - Remap Options - Post-proc - Destination - Comments * - | PMSL_atm_{YY} | PMSLROL - Mean Sea Level Pressure - C - N/A - hPa - Yin/Yang - Avg - | 100 * PMSL_atm_{YY} | :ref:`overlap-rm` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_MSLP - | Source code links: `Pre-proc `_ * - | CO2_atm_{YY} | XSRFROW(:,iCO2) - CO2 Concentration (from ATM) - C - N/A - ppm - Yin/Yang - Avg - | co2_mmr2ppm*CO2_atm_{YY} | where co2_mmr2ppm = 10\ :sup:`6` * 28.97/44.0 | :ref:`overlap-rm` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - :ref:`seam-corr` - O_AtmCO2 - | Source code links: `Pre-proc `_ * - | SLIM_atm_{YY} | SLIMROL - | Non-solar sensitivity to | temp over sea ice (dQns/dT) - I - N/A - W m\ :sup:`-2` K\ :sup:`-1` - Yin/Yang - Avg - | :ref:`overlap-rm` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = 0/0 - :ref:`seam-corr` - O_dQnsdT - Fields received by CanAMg ------------------------- .. list-table:: :header-rows: 1 * - Field Received - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Post-proc - Remap Options - Pre-proc - Source - Comments * - | GT_atm_{YY} | GTROW - Ground Temperature - O - N/A - K - Yin/Yang - Inst - - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - - O_SSTSST - * - | GTIO_atm_{YY} | ?? - | Ground Temperature | over the sea-ice - I - N/A - K - Yin/Yang - Inst - - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = 0/0 - - O_TepIce - Only sent if ``cpl_gtio_l = .true.`` in CanAMg namelist * - | SIC_atm_{YY} | SICROW - Sea Ice Thickness - OI - N/A - kg m\ :sup:`-2` - Yin/Yang - Inst - Negative values set to 0 - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - - OIceTck - Source code links: `Post-proc `_ * - | SICN_atm_{YY} | SICNROW - Sea Ice Fraction - OI - N/A - 1 - Yin/Yang - Inst - Negative values set to 0 - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - - OIceFrc - Source code links: `Post-proc `_ * - | SNO_atm_{YY} | SNOROT - Snow Thickness - OI - N/A - kg m\ :sup:`-2` - Yin/Yang - Inst - Negative values set to 0 - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - | OSnwTck/OIceFrc where OIceFrc > 0 | Set to 0 where OIceFrc <= 0 - | OSnwTck | OIceFrc - | Source code links: `Pre-proc `_, | `Post-proc `_ * - | CO2flx_atm_{YY} | FCOOROW - CO2 Flux (from Ocn) - OI - pos down? - kg CO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1` - Yin/Yang - Inst - - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - -1*O_CO2FLX*0.044011 - O_CO2FLX - | Source code links: `Pre-proc `_ Other CanAMg fields needed by CanCPL ------------------------------------ .. list-table:: :header-rows: 1 * - Field Sent - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Pre-proc - Remap Options - Post-proc - Destination - Comments * - | FLND_atm_{YY} | FLNDROW - Non ocean fraction (from ATM) - C - N/A - 1 - Yin/Yang - Inst - - N/A - - N/A - | Used to check consistency | with ocean mask * - | GMSK_atm_{YY} | ?? - Grid cell mask (from ATM) - C - N/A - 1 - Yin/Yang - Inst - - | Same as field that | receives seam correction - - {field}_crcrn - | Used in YY to ORCA | seam correction Fields sent by NEMO4 -------------------- .. list-table:: :header-rows: 1 * - Namelist Param - Field Sent - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Pre-proc - Remap Options - Post-proc - Destination - Comments * - | sn_snd_temp%cldes = | 'oce and ice' - O_SSTSST - Ocean Surface Temp - O - N/A - K - eORCA T - Inst - - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - - GT_atm_{YY} - * - | sn_snd_temp%cldes = | 'oce and ice' - O_TepIce - Sea Ice Surface Temp - I - N/A - K - eORCA T - Inst - - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = 0/0 - - GTIO_atm_{YY} - Only sent if ``cpl_gtio_l = .true.`` in CanAMg namelist * - - OIceFrc - Sea Ice Fraction - OI - N/A - 1 - eORCA T - Inst - - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - Negative values set to 0 - SICN_atm_{YY} - Source code links: `Post-proc `_ * - - OIceFrc - Sea Ice Fraction - OI - N/A - 1 - eORCA T - Inst - | OSnwTck/OIceFrc where OIceFrc > 0 | 0 where OIceFrc <= 0 - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - Negative values set to 0 - SNO_atm_{YY} - | Source code links: `Pre-proc `_, | `Post-proc `_ * - | sn_snd_thick%cldes = | 'weighted iwe and swe' - OIceTck - Sea Ice Water Equivalent - OI - N/A - kg m\ :sup:`-2` - eORCA T - Inst - - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - - SIC_atm_{YY} - Source code links: `Post-proc `_ * - | sn_snd_thick%cldes = | 'weighted iwe and swe' - OSnwTck - | Snow Water Equivalent | over Sea Ice - OI - N/A - kg m\ :sup:`-2` - eORCA T - Inst - | OSnwTck/OIceFrc where OIceFrc > 0 | 0 where OIceFrc <= 0 - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - Negative values set to 0 - SNO_atm_{YY} - | Source code links: `Pre-proc `_, | `Post-proc `_ * - | sn_snd_co2%cldes = | 'coupled' - O_CO2FLX - CO2 Flux (from Ocn) - OI - pos down? - mol C m\ :sup:`-2` s\ :sup:`-1` - eORCA T - Inst - -1*O_CO2FLX*0.044011 - | cv, fracarea, src/dst mask = T/F | src/dst dyn mask = HUGE/HUGE - - CO2flx_atm_{YY} - | Source code links: `Pre-proc `_ Fields received by NEMO4 ------------------------ Wind fields *********** .. list-table:: :header-rows: 1 * - Namelist Param - Field Received - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Post-proc - Remap Options - Pre-proc - Source - Comments * - | sn_rcv_tau%cldes | 'oce and ice' - O_OTaux1 - | Atm-Ocn Wind Stress | (x component) - O - pos down - N m\ :sup:`-2` - eORCA T - Avg - :ref:`seam-corr` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | -1*UFSO_atm_{YY} | :ref:`overlap-rm` - UFSO_atm_{YY} - | Source code links: `Pre-proc `_ * - | sn_rcv_tau%cldes | 'oce and ice' - O_OTauy1 - | Atm-Ocn Wind Stress | (y component) - O - pos down - N m\ :sup:`-2` - eORCA T - Avg - :ref:`seam-corr` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | -1*VFSO_atm_{YY} | :ref:`overlap-rm` - VFSO_atm_{YY} - | Source code links: `Pre-proc `_ * - | sn_rcv_tau%cldes | 'oce and ice' - O_ITaux1 - | Atm-Ice Wind Stress | (x component) - I - pos down - N m\ :sup:`-2` - eORCA T - Avg - :ref:`seam-corr` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | -1*UFSI_atm_{YY} | :ref:`overlap-rm` - UFSI_atm_{YY} - | Source code links: `Pre-proc `_ * - | sn_rcv_tau%cldes | 'oce and ice' - O_ITauy1 - | Atm-Ice Wind Stress | (y component) - I - pos down - N m\ :sup:`-2` - eORCA T - Avg - :ref:`seam-corr` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | -1*VFSI_atm_{YY} | :ref:`overlap-rm` - VFSI_atm_{YY} - | Source code links: `Pre-proc `_ * - | sn_rcv_w10m%cldes = | 'coupled' - O_Wind10 - | 10 Meter Wind | Speed Over Ocean - C - N/A - m s\ :sup:`-1` - eORCA T - Avg - :ref:`seam-corr` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`overlap-rm` - SWMX_atm_{YY} - Water fluxes ************ .. list-table:: :header-rows: 1 * - Namelist Param - Field Received - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Post-proc - Remap Options - Pre-proc - Source - Comments * - | sn_rcv_emp%cldes = | 'conservative' - OTotRain - | Total Liquid Precip | Over Ocean (rain) - C - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - eORCA T - Avg - | :ref:`seam-corr` | Negative values set to zero - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`overlap-rm` - RAIN_atm_{YY} - * - | sn_rcv_emp%cldes = | 'conservative' - OTotSnow - | Total Solid Precip | Over Ocean (snow) - C - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - eORCA T - Avg - | :ref:`seam-corr` | Negative values set to zero - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`overlap-rm` - SNOW_atm_{YY} - * - | sn_rcv_emp%cldes = | 'conservative' - OTotEvap - Total Evaporation Over Ocean - OI - pos up - kg m\ :sup:`-2` s\ :sup:`-1` - eORCA T - Avg - :ref:`seam-corr` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | RAIN_atm_{YY} + SNOW_atm_{YY} - (BWGI_atm_{YY} | * SICN_atm_{YY} + BWGO_atm_{YY} * (1-SICN_atm_{YY})) | :ref:`overlap-rm` - | RAIN_atm_{YY}, SNOW_atm_{YY}, | BWGO_atm_{YY}, BWGI_atm_{YY}, | SICN_atm_{YY} - | Source code links: `Pre-proc `_ * - | sn_rcv_emp%cldes = | 'conservative' - OIceEvap - | Solid Evaporation Over | Ice (sublimation) - I - pos up - kg m\ :sup:`-2` s\ :sup:`-1` - eORCA T - Avg - :ref:`seam-corr` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | RAIN_atm_{YY} + SNOW_atm_{YY} - BWGI_atm_{YY} | Set to 0 below 10\ :sup:`-10` | :ref:`overlap-rm` - | RAIN_atm_{YY}, SNOW_atm_{YY}, | BWGI_atm_{YY}, SICN_atm_{YY} - | Source code links: `Pre-proc `_ * - | sn_rcv_rnf%cldes = | 'coupled' - O_Runoff - Runoff Into Ocean - OI - pos down - kg m\ :sup:`-2` s\ :sup:`-1` - eORCA T - Avg - :ref:`river-spread` - | cv, fracarea, src mask = F | dst mask = F (riv) / T (ocn) | src/dyn mask = HUGE/HUGE - :ref:`river-route` - | ROF_atm_{YY} | ROFO_atm_{YY} - Heat fluxes *********** .. list-table:: :header-rows: 1 * - Namelist Param - Field Received - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Post-proc - Remap Options - Pre-proc - Source - Comments * - | sn_rcv_qsr%cldes = | 'conservative' - O_QsrIce - Solar Heat Flux Over Ice - I - pos down - W m\ :sup:`-2` - eORCA T - Avg - :ref:`seam-corr` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | :ref:`overlap-rm` - FSGI_atm_{YY} - * - | sn_rcv_qsr%cldes = | 'conservative' - O_QsrMix - | Mixed Solar Heat Flux | Over Ocean and Ice - OI - pos down - W m\ :sup:`-2` - eORCA T - Avg - :ref:`seam-corr` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | (1-SICN_atm_{YY})*FSGO_atm_{YY} | + SICN_atm_{YY}*FSGI_atm_{YY} | :ref:`overlap-rm` - | FSGO_atm_{YY}, FSGI_atm_{YY}, | SICN_atm_{YY} - | Source code links: `Pre-proc `_ * - | sn_rcv_qns%cldes = | 'conservative' - O_QnsIce - Non-Solar Heat Flux Over Ice - I - pos down - W m\ :sup:`-2` - eORCA T - Avg - :ref:`seam-corr` - | cv2, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | BEGI_atm_{YY} - FSGI_atm_{YY} | :ref:`overlap-rm` - | BEGI_atm_{YY} | FSGI_atm_{YY} - | Source code links: `Pre-proc `_ * - | sn_rcv_qsr%cldes = | 'conservative' - O_QnsMix - | Mixed Non-Solar Heat | Flux Over Ocean and Ice - OI - pos down - W m\ :sup:`-2` - eORCA T - Avg - | :ref:`seam-corr` | :ref:`heat-budget` - | cv2, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | (1-SICN_atm_{YY})*(BEGO_atm_{YY}-FSGO_atm_{YY}) | + SICN_atm_{YY}*(BEGI_atm_{YY}-FSGI_atm_{YY}) | :ref:`overlap-rm` - | FSGO_atm_{YY}, FSGI_atm_{YY}, | BEGO_atm_{YY}, BEGI_atm_{YY}, | SICN_atm_{YY} - | Source code links: `Pre-proc `_ Other fields ************ .. list-table:: :header-rows: 1 * - Namelist Param - Field Received - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Post-proc - Remap Options - Pre-proc - Source - Comments * - | sn_rcv_dqnsdt%cldes = | 'coupled' - O_dQnsdT - | Non-solar sensitivity | to temp over sea ice - I - N/A - W m\ :sup:`-2` - eORCA T - Avg - :ref:`seam-corr` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = 0/0 - | :ref:`overlap-rm` - SLIM_atm_{YY} - * - | sn_rcv_co2%cldes = | 'coupled' - O_AtmCO2 - CO2 Concentration (from Atm) - C - N/A - ppm - eORCA T - Avg - :ref:`seam-corr` - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | co2_mmr2ppm*CO2_atm_{YY} | where co2_mmr2ppm = 10\ :sup:`6` * 28.97/44.0 | :ref:`overlap-rm` - CO2_atm_{YY} - | Source code links: `Pre-proc `_ * - | sn_rcv_mslp%cldes = | 'coupled' - O_MSLP - Mean Sea Level Pressure - C - N/A - atm - eORCA T - Avg - :ref:`seam-corr` - | bl, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - | PMSL_atm_{YY}*100 | :ref:`overlap-rm` - PMSL_atm_{YY} - | Source code links: `Pre-proc `_ Other NEMO fields needed by CanCPL ---------------------------------- .. list-table:: :header-rows: 1 * - Namelist Param - Field Sent - Field Description - Rep Area - Sign - Units - Grid - Time Avg - Pre-proc - Remap Options - Post-proc - Destination - Comments * - - GTICE_ocn - | Sea Ice Surface Temp | (Interp from Atm) - I - N/A - K - eORCA T - Inst - - | cv2, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE? - - N/A - Not in use? * - - tmask - Ocean mask on ORCA T - C - N/A - 1 - eORCA T - Inst - - | cv, fracarea, src/dst mask = F/T | src/dst dyn mask = HUGE/HUGE - - N/A - | Used for masking on eORCA T | Remapped for land frac validation * - - glamt - Longitudes on ORCA T - C - N/A - deg - eORCA T - Inst - - N/A - - N/A - | Used for masking on eORCA T | Longitudes of cell centers * - - gphit - Latitudes on ORCA T - C - N/A - deg - eORCA T - Inst - - N/A - - N/A - | Used for masking on eORCA T | Latitudes of cell centers * - - glamf - Longitudes on ORCA F - C - N/A - deg - eORCA F - Inst - - N/A - - N/A - | Used for masking on eORCA T | Longitudes of cell corners * - - gphif - Latitudes on ORCA F - C - N/A - deg - eORCA F - Inst - - N/A - - N/A - | Used for masking on eORCA T | Latitudes of cell corners * - - e1t - | Horizontal scale | factor on ORCA T - C - N/A - m - eORCA T - Inst - - N/A - - N/A - | Used for masking on eORCA T | Cell area = e1t*e2t * - - e2t - | Horizontal scale | factor on ORCA T - C - N/A - m - eORCA T - Inst - - N/A - - N/A - | Used for masking on eORCA T | Cell area = e1t*e2t