1 / 22

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

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

tayten
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Hydrological Model --- • 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.

  3. Project Progress --- • Jan 2008 – June 2008 : Working on connecting VIC with CPL6 driver Provides the main VIC driver calling sequence Coupler Receive VIC and flux coupler exchange the fields at hourly VIC running time step Get atmospheric state and fluxes from flux coupler If (dorecv) then call csm_recv() Currently get atmospheric state and fluxes from met file: VICMET.INPUT Provide forcings to drive VIC model, and feedback the boundary conditions. VICMODEL Coupler Send If (dosend) call csm_send() Send fields to flux coupler

  4. Project Progress --- • 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)

  5. Current Status Finished the coding and compiling of VIC in CCSM4_alpha38 . Now is debuging under F configuration (ATM/LND). Future Plan 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

  6. Input forcing --- VIC Offline Hydrologocal Simulations of the Terrestrial Arctic Regime (1979-1999) (Su et al, 2005) Pan-Arctic Drainage Basins / mask file

  7. 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

  8. CPLATMID a2x_aa component exporting fields to CPL Rearrange a2x_ax Map CPLID preparing fields for LND on CPL X2l_lx Rearrange x2l_ll Importing fields from CPL for LND CPLLNDID LAND From He’ JuanXiong

  9. x2l_ll call lnd_import_mct atm_a2l call clm_mapa2l clm_a2l clm_l2a callclm_mapl2a atm_l2a call lnd_export_mct l2x_ll Data flow of the coupling process in LND component export data: l2x_ll import data :x2l_ll

  10. Initialization CLM Land Component If (iamin_LNDID .and. lnd_present) then call Lnd_init_mct Clm_init0 Clm_init1 Clm_init2 Initialize time constant variables Read Initial data Initialize time variant data for initial run Initialize accumulation variables Initialize clump and processor decomposition Read land grid set ldomain =~ adomain Initialize surface albedo Determine gridcell averaged properties to send to atm

  11. Run CLM Land Model If (lnd_present .and. lndrun_alarm .and. iamin_LNDIND) then call Lnd_run_mct DO: Loop over time steps in coupling interval Clm_run1 Clm_run2 Land model run1 phase Determine gridcell averaged properties to sent to atm Write output Write restart/initial files routing ENDDO

  12. CLM_INIT0 Module modified: DecompInit_glcp Initialize clump and processor decomposition To remove the landunit, column, pft subgrid features in CLM Module removed: UrbanInput Initialize urban model input Pftconrd Read list of PFTs Surfrd Read surface dataset

  13. CLM_INIT1 Initialize VIC run control variables, allocate memory to DIST_PRCP_STRUCT Allomem (from MM5-VIC) Subroutines added: Read in initial atmos fluxes, soil, veg., snowband param, initial conditions (by offline VIC running), pass them into DIST_PRCP_STRUCT Inivic (from MM5-VIC) Modules modified: Initialize sub-grid mapping for each land grid cell To remove the subgrid features in CLM InitGridCellsMod.F90 Modules to be removed: InitClmtype EcosystemDyini UrbanInitTimeConst Dustini InitTimeConst DGVMEcosystemDynini InitAccFlds CNiniTimeVar Rtmini InitCASAPhenology Ndepdyn_init Pftdyn_init

  14. CLM_INIT2 Module modified: Determine gridcell averaged properties to send to atm Clm_map2gcell To remove the subgrid features in CLM Module removed: Initialize albedo InitSurfAlb VIC has its own albedo initialization based on vegetation type

  15. CLM_RUN1 --- Driver1 DO: Loop over clumps DO:Loop over local gridcells VICMODEL Provide forcings to drive VIC model, and feedback the boundary conditions. ENDDO ENDDO

  16. CLM_RUN2 --- Driver2 Implement VIC routing model into RACM ROUT Rout surface and subsurface runoff into rivers

  17. !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

  18. 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

  19. ! atmosphere -> land variables structuretype atm2lnd_typereal(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

  20. Modified Modules and Subroutines MM5-VIC

  21. Modified Modules and Subroutines Land Surface model in CCSM

  22. Future Work Schedule Target to finish debugging VIC in CCSM4 system under F configuration by the end of January, 2009 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

More Related