source: trunk/LMDZ.MARS/libf/phymars/meso_inc/meso_inc_ini.F @ 289

Last change on this file since 289 was 285, checked in by aslmd, 14 years ago

08/09/11 == AS

LMDZ.MARS + MESOSCALE.
---> Setting up a more realistic water ice source at the poles (notably outliers)

surfini.F ?
Main changes and bug fixes

  • reference to comcstfi.h was wrong. big problem because e.g. pi was not known.
  • commented about a problem to be fixed, due to surfini being called before initracer.
  • MESOSCALE: put the mesoscale north cap definition into a precompiling flag #MESOSCALE

for the moment: if [alb_mean_TES > 0.26 and lat > 70] then outliers
(previously done in meso_inc_caps.F)

inifis.F ?
Just changed a comment with wrong formatting

--> below, only MESOSCALE

soil.F ?
if somewhere IT > IT_outliers, then makes it = IT_outliers

physiq.F ?
meso_inc/meso_inc_caps.F ?
meso_inc/meso_inc_ini.F ?
meso_inc_caps no longer called. keep for reference for the moment.

meso_inc/meso_inc_var.F ?
deleted lines with *_lim variables, now useless

File size: 3.4 KB
Line 
1ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2c MESOSCALE MODEL
3c
4c       No need to use startfi.nc
5c               > part of the job of phyetat0 is done in inifis
6c               > remaining initializations are passed here from the WRF variables
7c               > beware, some operations were done by phyetat0 (ex: tracers)
8c                       > if any problems, look in phyetat0
9c
10c    LMD_MM_MARS
11c       day_ini,tsurf,tsoil,emis,q2,qsurf,co2ice are inputs
12c               and locally saved variables
13c                       (no need to call phyetat0)
14c
15      tsurf(:)=wtsurf(:)
16      PRINT*,'check: tsurf ',tsurf(1),tsurf(ngridmx)
17      tsoil(:,:)=wtsoil(:,:)
18      PRINT*,'check: tsoil ',tsoil(1,1),tsoil(ngridmx,nsoilmx)
19     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
20     !!!new physics
21      PRINT*,'no variable z0 field for the moment. use z0_default.'
22      z0(:) = z0_default
23      PRINT*, 'check z0 ', z0(1)
24      inertiedat(:,:)=wisoil(:,:)
25      PRINT*,'check: inert ',inertiedat(1,1),inertiedat(ngridmx,nsoilmx)
26      mlayer(0:nsoilmx-1)=wdsoil(1,:)
27      PRINT*,'check: midlayer ', mlayer(:)
28            !!!!!!!!!!!!!!!!! DONE in soil_setting.F
29            ! 1.5 Build layer(); following the same law as mlayer()
30            ! Assuming layer distribution follows mid-layer law:
31            ! layer(k)=lay1*alpha**(k-1)
32            lay1=sqrt(mlayer(0)*mlayer(1))
33            alpha=mlayer(1)/mlayer(0)
34            do iloop=1,nsoilmx
35              layer(iloop)=lay1*(alpha**(iloop-1))
36            enddo
37
38      PRINT*,'check: layer ', layer(:)
39
40            !!!!!!!!!!!!!!!!! DONE in soil_setting.F
41      tnom(:)=wtnom(:)   !! est rempli dans advtrac.h
42      PRINT*,'check: tracernames ', tnom
43     !!!new physics
44     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
45      emis(:)=wemis(:)
46      PRINT*,'check: emis ',emis(1),emis(ngridmx)
47      q2(:,:)=wq2(:,:)
48      PRINT*,'check: q2 ',q2(1,1),q2(ngridmx,nlayermx+1)
49      qsurf(:,:)=wqsurf(:,:)
50      PRINT*,'check: qsurf ',qsurf(1,1),qsurf(ngridmx,nqmx)
51      co2ice(:)=wco2ice(:)
52      PRINT*,'check: co2 ',co2ice(1),co2ice(ngridmx)
53      day_ini=wday_ini
54
55c       artificially filling dyn3d/control.h is also required
56c       > iphysiq is put in WRF to be set easily (cf ptimestep)
57c       > day_step is simply deduced:
58c
59      day_step=daysec/ptimestep
60      PRINT*,'Call to LMD physics:',day_step,' per Martian day'
61c
62      iphysiq=ptimestep
63c
64      !DO iq=1, nq
65      !  PRINT*, tnom(iq), pq(:,:,iq)
66      !ENDDO
67
68c
69ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
70
71      !!!! see meso_inc_caps
72      !!!! this is a test to change outliers' albedo and thermal inertia
73      !alb_lim = 0.26
74      !lat_lim = 70.
75      !inertie_lim = 800.
76      !PRINT *, 'lat_lim ',lat_lim
77      !PRINT *, 'alb_lim ',alb_lim
78      !PRINT *, 'inertie_lim ',inertie_lim
79      !!!!
80      !!!!
81      !IF ( caps .and. water ) THEN
82      !    do ig=1,ngridmx
83      !      if ( lati(ig)*180./pi .gt. lat_lim ) then
84      !         if ( albedodat(ig) .ge. alb_lim ) then
85      !              albedodat(ig) = alb_surfice
86      !              inertiedat(ig,1) = inertie_lim 
87      !         endif
88      !         if (inertiedat(ig,1) .ge. inertie_lim ) then
89      !              inertiedat(ig,1) = inertie_lim
90      !         endif
91      !      endif  ! (lati, albedodat)
92      !    end do ! (ngridmx)
93      !ENDIF ! (caps)
Note: See TracBrowser for help on using the repository browser.