(Salt) Water Budget in GISS ModelE
Variables defined on atmosphere grid are not preceeded by 'a'.
Variables defined on ocean grid are preceeded by 'o'.
The section "Without Fluxes" indicates the prognostic variables that
contribute to the salt water mass (kg) for each reservoir.
After many subroutines, water mass has been removed from some reservoirs
but not yet been added to the next reservoirs; water mass is temporarily
stored in a "flux" array. After each subroutine, reservoirs which do not
have unadded fluxes are not mentioned; for other reservoirs flux arrays
are indicated.
Without Fluxes
AtmosQ = Q*AM*DXYP
Clouds = WM*AM*DXYP
LandIce = (SNOWLI+ACE1LI+ACE2LI)*FLICE*DXYP
Ground = GRNDW = see formula below
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP
LiqLake = MWL
SeaIce = (SNOWI+ACE1I+MSI)*RSI*FOCEAN*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP
NSNB = NSN_IJ(1)
NSNV = NSN_IJ(2)
WIJ = FB * {Sum[W_IJ(1:NGM,1)] + FR_SNOW_IJ(1) * Sum[WSN_IJ(1:NSNB,1)]} +
+ FV * {Sum[W_IJ(1:NGM,2)] + FR_SNOW_IJ(2) * Sum[WSN_IJ(1:NSNV,2)]}
GRNDW = RHOW * {FEARTH * WIJ + FLAKE * Sum[W_IJ(1:NGM,3)]} * DXYP
After MELT_SI: MELTI removed from LakeIce and SeaIce
LiqLake = MWL + MELTI(non ocean)
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean)
After CONDSE: PREC removed from AtmosQ
LandIce = (SNOWLI+ACE1LI+ACE2LI)*FLICE*DXYP + PREC*FLICE*DXYP
Ground = GRNDW + PREC*FEARTH*DXYP
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP + PREC*RSI*FLAKE*DXYP
LiqLake = MWL + MELTI(non ocean) + PREC*(1-RSI)*FLAKE*DXYP
SeaIce = (SNOWI+ACE1I+MSI)*RSI*FOCEAN*DXYP + PREC*RSI*FOCEAN*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) + PREC*(1-RSI)*FOCEAN*DXYP
After PRECIP_SI: PREC added to and RUNPSI removed from LakeIce and SeaIce,
LandIce = (SNOWLI+ACE1LI+ACE2LI)*FLICE*DXYP + PREC*FLICE*DXYP
Ground = GRNDW + PREC*FEARTH*DXYP
LiqLake = MWL + MELTI(non ocean) + PREC*(1-RSI)*FLAKE*DXYP + RUNPSI*RSI*FLAKE*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) + PREC*(1-RSI)*FOCEAN*DXYP + RUNPSI*RSI*FOCEAN*DXYP
After PRECIP_LI: PREC added to and RUNOLI removed from Landice
Ground = GRNDW + PREC*FEARTH*DXYP
LiqLake = MWL + MELTI(non ocean) + PREC*(1-RSI)*FLAKE*DXYP + RUNPSI*RSI*FLAKE*DXYP + RUNOLI(use 1)*FLICE*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) + PREC*(1-RSI)*FOCEAN*DXYP + RUNPSI*RSI*FOCEAN*DXYP
After PRECIP_LK: PREC, RUNPSI and RUNOLI added to LiqLake
Ground = GRNDW + PREC*FEARTH*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) + PREC*(1-RSI)*FOCEAN*DXYP + RUNPSI*RSI*FOCEAN*DXYP
After PRECIP_OC: PREC and RUNPSI added to LiqOcen
Ground = GRNDW + PREC*FEARTH*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean)
After EARTH: EVAPOR(4) added to AtmosQ; PREC added to and RUNOE removed from Ground
Ground = GRNDW + EVAPOR(4)*FEARTH*DXYP
LiqLake = MWL + RUNOE*FEARTH*DXYO
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean)
After ATM_DIFFUS: EVAPOR(1:3) added to AtmosQ
LandIce = (SNOWLI+ACE1LI+ACE2LI)*FLICE*DXYP - EVAPOR(3)*FLICE*DXYP
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP - EVAPOR(2)*RSI*FLAKE*DXYP
LiqLake = MWL + RUNOE*FEARTH*DXYO - EVAPOR(1)*(1-RSI)*FLAKE*DXYP
SeaIce = (SNOWI+ACE1I+MSI)*RSI*FOCEAN*DXYP - EVAPOR(2)*RSI*FOCEAN*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) - EVAPOR(1)*(1-RSI)*FOCEAN*DXYP
After SURFCE
LandIce = (SNOWLI+ACE1LI+ACE2LI)*FLICE*DXYP - EVAPOR(3)*FLICE*DXYP
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP - EVAPOR(2)*RSI*FLAKE*DXYP
LiqLake = MWL + RUNOE*FEARTH*DXYO - EVAPOR(1)*(1-RSI)*FLAKE*DXYP
SeaIce = (SNOWI+ACE1I+MSI)*RSI*FOCEAN*DXYP - EVAPOR(2)*RSI*FOCEAN*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) - EVAPOR(1)*(1-RSI)*FOCEAN*DXYP
After UNDERICE
LandIce = (SNOWLI+ACE1LI+ACE2LI)*FLICE*DXYP - EVAPOR(3)*FLICE*DXYP
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP - EVAPOR(2)*RSI*FLAKE*DXYP
LiqLake = MWL + RUNOE*FEARTH*DXYO - EVAPOR(1)*(1-RSI)*FLAKE*DXYP
SeaIce = (SNOWI+ACE1I+MSI)*RSI*FOCEAN*DXYP - EVAPOR(2)*RSI*FOCEAN*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) - EVAPOR(1)*(1-RSI)*FOCEAN*DXYP
After GROUND_SI: EVAPOR(2) and RUNOSI removed from LakeIce and SeaIce
LandIce = (SNOWLI+ACE1LI+ACE2LI)*FLICE*DXYP - EVAPOR(3)*FLICE*DXYP
LiqLake = MWL + RUNOE*FEARTH*DXYO - EVAPOR(1)*(1-RSI)*FLAKE*DXYP + RUNOSI*RSI*FLAKE*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) - EVAPOR(1)*(1-RSI)*FOCEAN*DXYP + RUNOSI*RSI*FOCEAN*DXYP
After GROUND_LI: EVAPOR(3) and RUNOLI removed from LandIce
LiqLake = MWL + RUNOE*FEARTH*DXYO - EVAPOR(1)*(1-RSI)*FLAKE*DXYP + RUNOSI*RSI*FLAKE*DXYP + RUNOLI*FLICE*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) - EVAPOR(1)*(1-RSI)*FOCEAN*DXYP + RUNOSI*RSI*FOCEAN*DXYP
After GROUND_LK: EVAPOR(3) and DMSI removed from and RUNOE, RUNOSI and RUNOLI added to LiqLake
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP + DMSI(1)*(1-RSI)*FLAKE*DXYP + DMSI(2)*RSI*FLAKE*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) - EVAPOR(1)*(1-RSI)*FOCEAN*DXYP + RUNOSI*RSI*FOCEAN*DXYP
After RIVERF: river flow removed from LiqLake and added to LiqOcen
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP + DMSI(1)*(1-RSI)*FLAKE*DXYP + DMSI(2)*RSI*FLAKE*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) - EVAPOR(1)*(1-RSI)*FOCEAN*DXYP + RUNOSI*RSI*FOCEAN*DXYP + FLOWO
After GROUND_E
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP + DMSI(1)*(1-RSI)*FLAKE*DXYP + DMSI(2)*RSI*FLAKE*DXYP
LiqOcen = oMO*oDXYP + MDWNIMP + MELTI(ocean) - EVAPOR(1)*(1-RSI)*FOCEAN*DXYP + RUNOSI*RSI*FOCEAN*DXYP + FLOWO
After GROUND_OC: MELTI and RUNOSI added to and EVAPOR(1) oDMSI removed from LiqOcen
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP + DMSI(1)*(1-RSI)*FLAKE*DXYP + DMSI(2)*RSI*FLAKE*DXYP
SeaIce = (SNOWI+ACE1I+MSI)*RSI*FOCEAN*DXYP + oDMSI(1)*(1-oRSI)*oFOCEAN*oDXYP + oDMSI(2)*oRSI*oFOCEAN*oDXYP
After OCONV
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP + DMSI(1)*(1-RSI)*FLAKE*DXYP + DMSI(2)*RSI*FLAKE*DXYP
SeaIce = (SNOWI+ACE1I+MSI)*RSI*FOCEAN*DXYP + oDMSI(1)*(1-oRSI)*oFOCEAN*oDXYP + oDMSI(2)*oRSI*oFOCEAN*oDXYP
After ODYNAM
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP + DMSI(1)*(1-RSI)*FLAKE*DXYP + DMSI(2)*RSI*FLAKE*DXYP
SeaIce = (SNOWI+ACE1I+MSI)*RSI*FOCEAN*DXYP + oDMSI(1)*(1-oRSI)*oFOCEAN*oDXYP + oDMSI(2)*oRSI*oFOCEAN*oDXYP
After OCEANS
LakeIce = (SNOWI+ACE1I+MSI)*RSI*FLAKE*DXYP + DMSI(1)*(1-RSI)*FLAKE*DXYP + DMSI(2)*RSI*FLAKE*DXYP
SeaIce = (SNOWI+ACE1I+MSI)*RSI*FOCEAN*DXYP + oDMSI(1)*(1-oRSI)*oFOCEAN*oDXYP + oDMSI(2)*oRSI*oFOCEAN*oDXYP
After FORM_SI: DMSI added to LakeIce and oDMSI added to SeaIce
After ADVSI
Notes:
EVAPOR is positive for dew and is negative for evaporation.
RUNOLI array is used twice, to carry flux generated in PRECIP_LI and in GROUND_LI .
2025/03/14/03:30:19