1 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
---|
2 | c MESOSCALE MODEL |
---|
3 | c |
---|
4 | c No need to use startfi.nc |
---|
5 | c > part of the job of phyetat0 is done in inifis |
---|
6 | c > remaining initializations are passed here from the WRF variables |
---|
7 | c > beware, some operations were done by phyetat0 (ex: tracers) |
---|
8 | c > if any problems, look in phyetat0 |
---|
9 | c |
---|
10 | c LMD_MM_MARS |
---|
11 | c day_ini,tsurf,tsoil,emis,q2,qsurf,co2ice are inputs |
---|
12 | c and locally saved variables |
---|
13 | c (no need to call phyetat0) |
---|
14 | c |
---|
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 | |
---|
55 | c artificially filling dyn3d/control.h is also required |
---|
56 | c > iphysiq is put in WRF to be set easily (cf ptimestep) |
---|
57 | c > day_step is simply deduced: |
---|
58 | c |
---|
59 | day_step=daysec/ptimestep |
---|
60 | PRINT*,'Call to LMD physics:',day_step,' per Martian day' |
---|
61 | c |
---|
62 | iphysiq=ptimestep |
---|
63 | c |
---|
64 | !DO iq=1, nq |
---|
65 | ! PRINT*, tnom(iq), pq(:,:,iq) |
---|
66 | !ENDDO |
---|
67 | |
---|
68 | c |
---|
69 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
---|