development of the regional arctic climate system model (racm) --- initial implementation of vic...

22
Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering University of Washington December, 2008 Chunmei Zhu and Dennis P. Lettenmaier

Upload: flora-heath

Post on 29-Dec-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

Development of the Regional Arctic Climate System Model (RACM) ---

Initial Implementation of VIC within CCSM4

Department of Civil and Environmental Engineering University of Washington

December, 2008

Chunmei Zhu and Dennis P. Lettenmaier

Page 2: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

Model features:

• multiple vegetation classes in each cell;

• energy and water budget closure at each time step;

• subgrid infiltration and runoff variability;

• and non-linear baseflow generation.

The VIC (Liang et al, 1994;1996) model is a grid-based land surface scheme designed both for inclusion in GCMs, and for use as a stand-alone macro-

scale hydrological model.

Hydrological Model ---

Page 3: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

driverProvides the main VIC driver calling sequence

Coupler Receive

If (dorecv) then call csm_recv()

Get atmospheric state and fluxes from flux coupler

Coupler SendIf (dosend) call csm_send()

Send fields to flux coupler

VIC and flux coupler exchange the fields at hourly VIC running time step

Currently get atmospheric state and fluxes from met file: VICMET.INPUT

VICMODELProvide forcings to drive VIC model, and feedback the boundary conditions.

Project Progress --- •Jan 2008 – June 2008 : Working on connecting VIC with CPL6

Page 4: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

• July 2007 – Sep 2007: working on connecting VIC with CPL7 in CCSM4_0618

• Oct. 2: RACM teleconference

• Oct. 2007 – Nov. 15, 2007: finishing the coding of replacing CLM with VIC in CCSM4_0618

• Nov. 15 - : updated the CCSM4_0618 to CCSM4_alpha38 (thanks for the help of Maslowski, Gabriele to obtain the code)

Project Progress ---

Page 5: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

Finished the coding and compiling of VIC in CCSM4_alpha38 .

Now is debuging under F configuration (ATM/LND).

Current Status

Testing the coupled system in ARSC: I input forcing + offline VIC

II input forcing + coupler + coupled VIC We can compare these 2 simulation runs to examine the coding accuracy

Future Plan

Page 6: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

VIC Offline Hydrologocal Simulations of the Terrestrial Arctic Regime (1979-1999)

Pan-Arctic Drainage Basins / mask file

(Su et al, 2005)

Input forcing ---

Page 7: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

CCSM CPL7 – VIC land Surface Model

• In CCSM4, the communication process is separated from the component integration process. All communication processes are taken over by Cpl7 and the components runs by themselves. So our coding work is mainly to replace the CLM with VIC. We expect most of coding doesn’t involve the Cpl7.

• Extract VIC part in MM5-VIC coupling system to replace CLM because VIC in MM5 is in image mode.

• Current VIC doesn’t have the capacity for parallel running.

• VIC runs at hourly time step. The coupling interval is hourly too. VIC produces its own output at hourly time step.

• The current VIC version in MM5 is VIC4.0.4. We plan to update the VIC to newer version (VIC4.1.0) after the coupling finished

Page 8: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

component exporting fields to CPL

Importing fields from CPL for LND

preparing fields for LND on CPL

a2x_ax

x2l_ll

a2x_aa

CPLIDMap

Rearrange

CPLLNDID

CPLATMID

Rearrange

X2l_lx

From He’ JuanXiong

LAND

Page 9: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

Data flow of the coupling process in LND component

export data: l2x_ll

x2l_ll

atm_a2l

clm_a2l

call lnd_import_mct

call clm_mapa2l

import data : x2l_ll

atm_l2a

l2x_ll

call clm_mapl2a

call lnd_export_mct

clm_l2a

Page 10: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

Initialization CLM Land Component

Lnd_init_mct

Clm_init0

Initialize clump and processor decomposition Read land grid set ldomain =~ adomain

Clm_init1Initialize time constant variablesRead Initial dataInitialize time variant data for initial runInitialize accumulation variables

Clm_init2

Initialize surface albedoDetermine gridcell averaged properties to send to atm

If (iamin_LNDID .and. lnd_present) then call

Page 11: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

Run CLM Land Model

Lnd_run_mctIf (lnd_present .and. lndrun_alarm .and. iamin_LNDIND) then call

DO: Loop over time steps in coupling interval

ENDDO

Clm_run1 Clm_run2Land model run1 phaseDetermine gridcell averaged properties to sent to atm

Write outputWrite restart/initial files routing

Page 12: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

CLM_INIT0

Module modified:

DecompInit_glcp Initialize clump and processor decomposition

To remove the landunit, column, pft subgrid features in CLM

Module removed:

UrbanInput

Pftconrd

Surfrd

Initialize urban model input

Read list of PFTs

Read surface dataset

Page 13: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

CLM_INIT1

Subroutines added:

Allomem (from MM5-VIC)Initialize VIC run control variables, allocate memory to DIST_PRCP_STRUCT

Inivic (from MM5-VIC)Read in initial atmos fluxes, soil, veg., snowband param, initial conditions (by offline VIC running), pass them into DIST_PRCP_STRUCT

Modules modified:

InitGridCellsMod.F90Initialize sub-grid mapping for each land grid cellTo remove the subgrid features in CLMModules to be removed:

InitClmtype

DGVMEcosystemDynini

EcosystemDyiniDustini

UrbanInitTimeConstInitTimeConst

Rtmini InitAccFlds CNiniTimeVar

Pftdyn_init Ndepdyn_init InitCASAPhenology

Page 14: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

CLM_INIT2

Module modified:

Clm_map2gcell Determine gridcell averaged properties to send to atm

To remove the subgrid features in CLM

Module removed:

InitSurfAlbInitialize albedo

VIC has its own albedo initialization based on vegetation type

Page 15: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

CLM_RUN1 --- Driver1

DO: Loop over clumps

DO: Loop over local gridcells

ENDDO

ENDDO

VICMODEL

Provide forcings to drive VIC model, and feedback the boundary conditions.

Page 16: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

CLM_RUN2 --- Driver2

Rout surface and subsurface runoff into rivers

ROUT

Implement VIC routing model

into RACM

Page 17: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

! land -> atmosphere state variables structure

type lnd2atm_type real(r8), pointer :: t_rad(:) !radiative temperature (Kelvin) real(r8), pointer :: t_ref2m(:) !2m surface air temperature (Kelvin) real(r8), pointer :: q_ref2m(:) !2m surface specific humidity (kg/kg) real(r8), pointer :: h2osno(:) !snow water (mm H2O) real(r8), pointer :: albd(:,:) !(numrad) surface albedo (direct) real(r8), pointer :: albi(:,:) !(numrad) surface albedo (diffuse) real(r8), pointer :: taux(:) !wind stress: e-w (kg/m/s**2) real(r8), pointer :: tauy(:) !wind stress: n-s (kg/m/s**2) real(r8), pointer :: eflx_lh_tot(:) !total latent HF (W/m**2) [+ to atm] real(r8), pointer :: eflx_sh_tot(:) !total sensible HF (W/m**2) [+ to atm] real(r8), pointer :: eflx_lwrad_out(:) !IR (longwave) radiation (W/m**2) real(r8), pointer :: qflx_evap_tot(:)!qflx_evap(_soi + _veg) + qflx_tran_veg real(r8), pointer :: fsa(:) !solar rad absorbed (total) (W/m**2) real(r8), pointer :: nee(:) !net CO2 flux (kg C/m**2/s) [+ to atm] #if (defined DUST || defined PROGSSLT ) real(r8), pointer :: ram1(:) !aerodynamical resistance (s/m) real(r8), pointer :: fv(:) !friction velocity (m/s) (for dust model) #endif #if (defined DUST ) real(r8), pointer :: flxdst(:,:) !dust flux (size bins) #endif end type lnd2atm_type

Page 18: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

VIC output variables to CPL*clm_l2a%albd(g,1) = clm_l2a%albd(g,2) = clm_l2a%albd(g,2) = clm_l2a

%albd(g,2) = out_data ->albedo

clm_l2a%qflx_evap_tot = out_data->evap

* clm_l2a%taux = clm_l2a%tauy = out_data->wind * 1.3 * out_data->wind * ( 0.6 + 0.07 * out_data->wind ) / 1000

clm_l2a%fsa = out_data->net_short

clm_l2a%eflx_lwrad_out = out_data->rad_temp * out_data->rad_temp * out_data->rad_temp * out_data->rad_temp * 5.67 / 100000000

clm_l2a%eflx_lh_tot = out_data->latent

clm_l2a%eflx_sh_tot = out_data->sensible

clm_l2a%q_ref2m = out_data->surf_humid

clm_l2a%t_ref2m = out_data->surf_temp

clm_l2a%t_rad = out_data->rad_temp

clm_l2a%h2osno = out_data->snow_depth[0]/100

Page 19: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

! atmosphere -> land variables structuretype atm2lnd_type real(r8), pointer :: forc_t(:) !atmospheric temperature (Kelvin) real(r8), pointer :: forc_u(:) !atm wind speed, east direction (m/s) real(r8), pointer :: forc_v(:) !atm wind speed, north direction (m/s) real(r8), pointer :: forc_wind(:) !atmospheric wind speed real(r8), pointer :: forc_q(:) !atmospheric specific humidity (kg/kg) real(r8), pointer :: forc_hgt(:) !atmospheric reference height (m) real(r8), pointer :: forc_hgt_u(:) !obs height of wind [m] (new) real(r8), pointer :: forc_hgt_t(:) !obs height of temperature [m] (new) real(r8), pointer :: forc_hgt_q(:) !obs height of humidity [m] (new) real(r8), pointer :: forc_pbot(:) !atmospheric pressure (Pa) real(r8), pointer :: forc_th(:) !atm potential temperature (Kelvin) real(r8), pointer :: forc_vp(:) !atmospheric vapor pressure (Pa) real(r8), pointer :: forc_rho(:) !density (kg/m**3) !KO real(r8), pointer :: forc_rh(:) !atmospheric relative humidity (%) !KO real(r8), pointer :: forc_psrf(:) !surface pressure (Pa) real(r8), pointer :: forc_pco2(:) !CO2 partial pressure (Pa) real(r8), pointer :: forc_lwrad(:) !downwrd IR longwave radiation (W/m**2) real(r8), pointer :: forc_solad(:,:) !direct beam radiation (numrad) !(vis=forc_sols , nir=forc_soll ) real(r8), pointer :: forc_solai(:,:) !diffuse radiation (numrad) !(vis=forc_solsd, nir=forc_solld) real(r8), pointer :: forc_solar(:) !incident solar radiation real(r8), pointer :: forc_rain(:) !rain rate [mm/s] real(r8), pointer :: forc_snow(:) !snow rate [mm/s] real(r8), pointer :: forc_ndep(:) !nitrogen deposition rate (gN/m2/s) !KO real(r8), pointer :: rainf(:) !ALMA rain+snow [mm/s] !KO ! 4/14/05: PET ! Adding isotope code real(r8), pointer :: forc_pc13o2(:) !C13O2 partial pressure (Pa) real(r8), pointer :: forc_po2(:) !O2 partial pressure (Pa)

end type atm2lnd_type

Page 20: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

Modified Modules and Subroutines

MM5-VIC

wrf_allomem.c allocate memory to DIST_PRCP_STRUCT

wrf_init_global_vic.c Initialize VIC run control variables

wrf_initialize_vic_model.c Read in initial atmos fluxes, soil, veg., snowband param, initial conditions (by offline VIC running), pass them into DIST_PRCP_STRUCT

wrf_vic_band.c Perform VIC calling for each cell

wrf_vic_interface.c Provide forcings to drive VIC model, and feedback the boundary conditions.

Page 21: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

Land Surface model in CCSM

Modified Modules and Subroutines

clm_map2gcell

( clm_atmlnd.F90 )

Determine gridcell averaged properties to send to atm. To remove the subgrid features in CLM.

clm_compMod.F90 Remove original CLM albedo initialization

controlMod.F90

Initialize CLM run control variables. Output two more running date variables (start_ymd, start_tod)

decompMod.F90 Land surface descomposition into a clumped data structure. To remove subgrid features in CLM

decompInitMod.F90

Initialize clump and processor decomposition. To remove the landunit, column, pft subgrid features in CLM

driver.F90 The main CLM driver calling module. To replace CLM driver calling subroutines with VIC subroutines.

initGridCellsMod.F90 Initialize sub-grid mapping for each land grid cell.To remove the subgrid features in CLM

initializeMod.F90 Perform land model initialization. To replace CLM initialization subroutines with VIC ones.

Page 22: Development of the Regional Arctic Climate System Model (RACM) --- Initial Implementation of VIC within CCSM4 Department of Civil and Environmental Engineering

Target to finish debugging VIC in CCSM4 system under F configuration by the end of January, 2009

Future Work Schedule

Target to finish testing the coupled system by compare 2 simulation runs (offline VIC running and coupled VIC running with CPL7) by March, 2009

Target to finish routing model implementation in

CCSM4 system by May, 2009