Download presentation
Presentation is loading. Please wait.
Published byRichard Luke Wheeler Modified over 9 years ago
1
RAMS Customization
2
Example customizations Higher-resolution topography Topography steepness Vegetation parameters SST modifications (lakes, bays, rivers) Idealized runs initial perturbation external tendency over time period
3
RAMS Custom Topography Create your own dataset Use new program mk_blocks (on our web site soon, contact me if needed)… …or older program mktopo.f (on our web site) Need to convert data to regular latitude-longitude grid
4
RAMS Custom Topography Sometimes topography is too “steep” really, dependent on ratio z topo / z If this occurs, model can “blow up” or very cold temperatures can be found. Helps most of the time to make topography smoother or to increase z. Smoothing for an entire grid can be done in namelist: TOPTWVL and ITOPSFLG Sometimes, only smoothing for a portion of the domain is needed. For example, a simulation for Colombia, but the Andes mountains are in the southern part of the domain.
5
RAMS Custom Topography ruser.f90: subroutine toptinit_user(n2,n3,ifm,topt) include 'rcommons.h' dimension topt(n2,n3) ! This subroutine is the intended location for a user to customize TOPT, ! the surface topography array. It is called after all other types of ! initialization of this field, so this subroutine has the last word. ! By default the subroutine makes no change to the field. The commented ! lines below serve as a template for user-designed changes; the example ! shown is the Witch of Agnesi mountain, a common test case. Note that ! this routine is called for each grid separately, so attention to the ! current value of ngrid in this routine may be required by the user. ! if(ifm.eq.1)then call toptsmth( …,…,…,…,…) elseif(ifm.eq.2)then endif return end
6
RAMS Vegetation Parameters – v4.4 If you are using the default USGS land use files, make sure the land use type is correct. This can be viewed with REVU. If it is not correct: 1) Modify incorrect grid points in ruser.f90 (best if only a small area is incorrect) 2) Modify the input dataset block (best if most of a block is incorrect) 3) Create your own dataset (best if entire country could be better, or if you have higher resolution)
7
RAMS Vegetation Parameters – v4.4 Modify incorrect grid points in ruser.f90 best if only a small area is incorrect ruser.f90: subroutine sfcinit_user(n1,n2,n3,n4,n5,ifm,theta,pi0,pp,rv &,tgp,wgp,schar,gsf,rvs,prss,pis,vt2da,vt2db,vnam,ivtime) ! The SCHAR array contains the following information according to the ! value of its 3rd index and patch number (the 4th index): ! For Soil Regions (ipatch > 1): ! 1: fractional coverage of patch (land percentage) ! 2: soil roughness length ! 3: vegetation type ! 4: vegetation fractional coverage ! 5: vegetation leaf area index ! 6: net roughness length (resultant for soil/snow plus veg) ! 7: vegetation roughness length ! 8: vegetation displacement height ! 9: patch wetness index ! 10: k index of top snow layer ! 11: datq vegetation class
8
RAMS Vegetation Parameters – v4.4 Modify incorrect grid points in ruser.f90 elseif (vnam.eq. 'FILEDATA') then ! if (ifm.eq. 1) then ! do j = 1,n3 ! do i = 1,n2 ! schar(i,j,1,1) = ! schar(i,j,1,2) = ! do ipatch = 3,n5 ! schar(i,j,1,ipatch) = ! enddo ! ! do ipatch = 2,n5 ! do k = 1,nzg ! gsf(i,j,k,ipatch) = ! enddo ! schar(i,j,3,ipatch) = ! schar(i,j,11,ipatch) = ! enddo ! ! enddo ! elseif (ifm.eq. 2) then ! endif schar dimensioned by: nx – number of x points ny – number of y points nv – parameter number np – patch number
9
RAMS Vegetation Parameters – v4.4 Modify the input dataset block best if most of a block is incorrect Small program available to: Read a block Modify values Write out new block Code will need to be modified manually Contact me if this is needed
10
RAMS Vegetation Parameters – v4.4 Create your own dataset Best if entire country could be better If you have higher resolution data Use new program mk_blocks. Need to convert data to regular latitude-longitude grid
11
RAMS Vegetation Parameters – v4.4 ! LEAF-2 BIOPHYSICAL PARAMETERS BY LANDUSE CLASS NUMBER data bioparms/ & !----------------------------------------------------------------------------- !albedo lai vfrac zo rootdep LEAF-2 CLASS # ! emiss dlai dvfrac zdisp AND DESCRIPTION !----------------------------------------------------------------------------- ! BATS LSPs.14,.99, 0.0, 0.0,.00,.00,.00, 0.1,.0 & ! 0 Ocean,.14,.99, 0.0, 0.0,.00,.00,.00, 0.1,.0 & ! 1 Lakes,rivers,streams (inland water),.40,.82, 0.0, 0.0,.00,.00,.01, 0.1,.0 & ! 2 Ice cap/glacier,.10,.97, 6.0, 1.0,.80,.10, 1.00, 15.0, 1.5 & ! 3 Evergreen needleleaf tree,.10,.95, 6.0, 5.0,.80,.30, 1.00, 20.0, 1.5 & ! 4 Deciduous needleleaf tree,.20,.95, 6.0, 5.0,.80,.30,.80, 15.0, 2.0 & ! 5 Deciduous broadleaf tree,.15,.95, 6.0, 1.0,.90,.50, 2.00, 20.0, 1.5 & ! 6 Evergreen broadleaf tree,.26,.96, 2.0, 1.5,.80,.10,.02,.2, 1.0 & ! 7 Short grass,.16,.96, 6.0, 5.5,.80,.30,.10, 1.0, 1.0 & ! 8 Tall grass,.30,.86, 0.0, 0.0,.00,.00,.05,.1, 1.0 & ! 9 Desert,.25,.96, 6.0, 5.5,.10,.10,.10,.5, 1.0 & ! 10 Semi-desert,.20,.95, 6.0, 5.5,.60,.20,.04,.1, 1.0 & ! 11 Tundra,.10,.97, 6.0, 1.0,.80,.20,.10, 1.0, 1.0 & ! 12 Evergreen shrub,.20,.97, 6.0, 5.0,.80,.30,.10, 1.0, 1.0 & ! 13 Deciduous shrub,.15,.96, 6.0, 3.0,.80,.20,.80, 20.0, 2.0 & ! 14 Mixed woodland,.20,.95, 6.0, 5.5,.85,.60,.06,.7, 1.0 & ! 15 Crop/mixed farming,.18,.95, 6.0, 5.5,.80,.60,.06,.7, 1.0 & ! 16 Irrigated crop,.12,.98, 6.0, 5.5,.80,.40,.03, 1.0, 1.0 & ! 17 Bog or marsh
12
RAMS SST Modifications Distributed dataset is 1-degree (111 km) resolution, 1955- 1985 monthly average. Some near-real time, some higher resolution datasets exist Create your own dataset Use new program mk_blocks Need to convert data to regular latitude-longitude grid
13
RAMS SST Modifications However, most SST datasets are only applicable to ocean regions. Values over continents are interpolations between oceans, even for larger bays, seas, lakes, etc. Temperatures are not correct. So, if there is significant inland water regions in your domain, you may want to consider customizing: Create a new dataset at higher resolution Modify existing blocks Or… ruser.f90 again!
14
RAMS SST Modifications ruser.f90: subroutine sfcinit_user(n1,n2,n3,n4,n5,ifm,theta,pi0,pp,rv &,tgp,wgp,schar,gsf,rvs,prss,pis,vt2da,vt2db,vnam,ivtime) ! The TGP array contains the following information according to the ! value of its 3rd index and patch number (the 4th index): ! For Water Regions (ipatch = 1): ! nzg: temperature of ocean, lake, or river surface ! nzg+1: past ocean, lake, or river temperature (for time updating) ! nzg+2: future ocean, lake, or river temperature (for time updating) if (vnam.eq. 'SSTDATA') then ! if (ifm.eq. 1) then ! ! do j = 1,n3 ! do i = 1,n2 ! tgp(i,j,nzg+1,1) = ! tgp(i,j,nzg+2,1) = ! enddo ! ! elseif (ifm.eq. 2) then ! endif
15
Idealized Runs – Initial Perturbation Some idealized runs, initialized from a single sounding, may need an initial perturbation to generate a circulation. Example: flat terrain or ocean, generate a convective cell To initialize the perturbation, a custom subroutine is required, since all perturbations will most likely be different. An example subroutine is in ruser.f90 (subroutine bubble). subroutine bubble(m1,m2,m3,thp,rtp) dimension thp(m1,m2,m3),rtp(m1,m2,m3) ! do j = 1,1 do i = 17,26 do k = 2,7 !e thp(k,i,j) = thp(k,i,j) + 5. !e rtp(k,i,j) = rtp(k,i,j) * 1.2 enddo return end Adds 5 deg to potential temperature and increases total water mixing ratio by 20% over specified grid points The call to this routine then needs to be inserted into subroutine INITLZ (rdint.f90, about line 202).
16
Idealized Runs – Perturbation tendency It may be better in some idealized runs to introduce a perturbation over a period of time (e.g., with a tendency) To specify the tendency, a custom subroutine is required, since all perturbations will most likely be different. An example subroutine is in ruser.f90 (subroutine trtend). SUBROUTINE TRTEND(M1,M2,M3,K1,K2,I1,I2,J1,J2,RTT,THT) DIMENSION RTT(M1,M2,M3),THT(M1,M2,M3) DO J=J1,J2 DO I=I1,I2 DO K=K1,K2 RTT(K,I,J)=RTT(K,I,J)+0.010/3600. THT(K,I,J)=THT(K,I,J)+10./3600. ENDDO Adds 10 deg to potential temperature and increases total water mixing ratio by 10 g/kg over specified grid points over 1 hour The call to this routine then needs to be inserted into subroutine TIMESTEP (rtimh.f90, about line 107).
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.