# Presentation: 433622

## Progress Report on Implementation of NOAH LSM Into NCEP MRF Model

## MRF Code Structure

- Radiation loop
- Dynamics loop
- Physics loop
- Surface cycle

- Initialization
- Spectral-to-grid
- Compute physics tendency
- Grid-to-spectral

- Land physics (step 1)
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- Land physics (step 2)

**DO_TSTEP**

**GLOOPB**

**GBPHYS**

## GBPHYS routine

- Approximate diurnal cycle
- progtm - surface energy balance
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- progt2 - surface water balance

**snowmt**

**rainc**

**rainl**

**snowmt**
**rain**

## Code Revision #1  Change precip from local variable to state variable

- Approximate diurnal cycle
- Surface energy balance
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- Surface water balance

- Approximate diurnal cycle
- Surface energy balance
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN
- Surface water balance

## Code Revision #2  Merge progtm and progt2

- Approximate diurnal cycle
- Surface energy balance
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN
- Surface water balance

- Approximate diurnal cycle
- Surface energy balance
- Surface water balance
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN

## Code Revision #3  Remove the calculations of surface exchange coefficients and update of surface layer properties from progtm routine

- Approximate diurnal cycle
- Surface energy balance
- Surface water balance
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN

- Approximate diurnal cycle
- Surface exchange coefficients
- Surface energy balance
- Surface water balance
- Update surface layer properties
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN

## Code Revision #4 Handling of surface energy/water balance is consolidated

- Approximate diurnal cycle
- Surface exchange coefficients
- Surface energy balance
- Surface water balance
- Update surface layer properties
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN

- Approximate diurnal cycle
- Surface exchange coefficients
- Surface energy/water balance
- Update surface layer properties
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN

## Code Revision #5 Plug in NOAH LSM

- Approximate diurnal cycle
- Surface exchange coefficient
- Surface energy/water balance
- Update surface layer properties
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN

- Approximate diurnal cycle
- Surface exchange coefficient
- Surface energy/water balance*
- Update surface layer properties
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN

## 2-step MRF LSM versus 1-step MRF LSM

- Approximate diurnal cycle
- Surface exchange coefficients
- Surface energy/water balance
- Update surface layer properties
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN

- Approximate diurnal cycle
- Surface energy balance
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN
- Surface water balance

- SNOWMT(T)
- TPRCP(T)

- SNOWMT(T)
- TPRCP(T-1)

## Sfc_lnd: Surface energy/water balance over land and sea ice

- Declare variables
- Initialization
- Interface between parent model and LSM
- If MRF land physics is selected
- 	call progtm
- 	call progt2
- If NOAH land physics is selected
- 	interface (MRF to NOAH)
- 	call sflx
- 	interface (NOAH to MRF)
- Compute Qsurf

**LSM**

## ZERO PRECIP EXP

- Approximate diurnal cycle
- Surface exchange coefficients
- Surface energy/water balance
- Update surface layer properties
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN
**TPRCP = 0.**

- Approximate diurnal cycle
- Surface energy balance
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN
**TPRCP = 0.**
- Surface water balance

- SNOWMT(T)

- SNOWMT(T)

## OLD PRECIP EXP

- Approximate diurnal cycle
- Surface exchange coefficients
- Surface energy/water balance
- Update surface layer properties
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN

- Approximate diurnal cycle
- Surface energy balance
- Vertical diffusion
- Gravity wave drag
- Deep convection
- Shallow convection
- Non-convective precipitation
- RAIN=RAINL + RAINC
- Snow-rain detection
- TPRCP = RAIN
- Surface water balance
**TPRCP = RAIN**

- SNOWMT(T)
- TPRCP(T-1)

- SNOWMT(T)
- TPRCP(T-1)

## Major changes made on MRF

- Precip becomes a state variable
- Two step land models (progtm, progt2) are merged
- Computation of surface exchange coefficients and update of surface layer properties are moved outside land package
- Calculations of surface energy/water balance over land, sea, and sea ice are separated
- The capability of running MRF with NOAH land physics is added

- Yes, NOAH LSM has been plugged in MRF.
- But, the implementation is not yet finished.
- Here is my to-do-list:
-  Add new fields (SLOPETYP, SHDMIN)
-  Initialize from ‘cold start’
-  Fix the contamination in winter-time vegetation cover
-  Modify snow-rain detection
-  Add albedo adjustment due to deep snow

## Soil layers

- Configuration of soil layers
- 	MRF	ZSOIL(1:2) = -0.1, -2.0 meter
- 			ZSOIL(1:4) = -0.1, -0.73, -1.36, -2.0 meter
- 	NOAH	ZSOIL(1:4) = -0.1, -0.4, -1.0, -2.0 meter
- Change the number of soil layers (from 2 to 4) and modify the soil layer configuration (hardwired or passed via namelist?)
- Initialization from ‘cold start’ (i.e., 2 soil layers, no SLC)
- Estimate SLC from SMC
- SMC(1) = SMC*(1) and SMC(2:4) = SMC*(2);  same for STC

## Add new fields

- NOAH LSM requires the following new fields:
- 	SLOPETYP – Class of surface slope
- 	SHDMIN – Minimum vegetation cover
- Convert slopetyp and shdmin files from ASCII to GRIB
- Modify para_fixio_r and para_fixio_w to include SLOPETYP and SHDMIN in sfc file I/O
- Modify getini routine to read in SLOPETYP and SHDMIN if sfc file does not contain the date record(s)
- Once read in, use nearest point value [interpolation] to create SLOPETYP [SHDMIN] at model grid
- Modify gcycle to include SLOPETYP and SHDMIN in surface cycling (the merging weight is 1.0 and 0.0 for analysis and forecast field, respectively)

## Snow-rain detection

- MRF computes water equivalent snow depth only.  The changes to water equivalent snow depth resulting from snow accumulation and snowmelt are made at atmospheric (in gbphys) and land package (in progtm), respectively.
- NOAH computes both water equivalent snow depth and actual snow depth
- Need to decide where (atm vs land) and how (T850 or Tsfc) to perform snow-rain detection

## Snow albedo

- In NOAH LSM
- Input snow-free surface albedo (ALB) and max albedo over deep snow (SNOALB)
- Determine surface albedo (ALBEDO)
- 	over land with no snow, ALBEDO = ALB
- 	over snow pack, call ALCALC to determine ALBEDO
- 	over sea ice, ALBEDO = 0.6
- Compute total downward radiation (FDOWN)
- 	FDOWN = SOLDN*(1-ALBEDO) + LWDN
- In MRF model
- ALBEDO (4-type) is computed outside physics loop
- FDOWN and LWDN are input to progtm routine