/[lmdze]/trunk/dyn3d/dynetat0.f
ViewVC logotype

Diff of /trunk/dyn3d/dynetat0.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/dyn3d/dynetat0.f90 revision 76 by guez, Fri Nov 15 18:45:49 2013 UTC trunk/dyn3d/dynetat0.f revision 113 by guez, Thu Sep 18 19:56:46 2014 UTC
# Line 12  contains Line 12  contains
12      ! Authors: P. Le Van, L. Fairhead      ! Authors: P. Le Van, L. Fairhead
13      ! This procedure reads the initial state of the atmosphere.      ! This procedure reads the initial state of the atmosphere.
14    
15      use comconst, only: im, dtvr, jm, lllm      use comconst, only: dtvr
16      use comgeom, only: rlonu, rlatu, rlonv, rlatv, cu_2d, cv_2d, aire_2d      use comgeom, only: rlonu, rlatu, rlonv, rlatv, cu_2d, cv_2d, aire_2d
     use conf_gcm_m, only: fxyhypb, ysinus  
17      use dimens_m, only: iim, jjm, llm, nqmx      use dimens_m, only: iim, jjm, llm, nqmx
18      use disvert_m, only: pa      use disvert_m, only: pa
19      use ener, only: etot0, ang0, ptot0, stot0, ztot0      use ener, only: etot0, ang0, ptot0, stot0, ztot0
# Line 23  contains Line 22  contains
22      use netcdf95, only: NF95_GET_VAR, nf95_open, nf95_inq_varid, NF95_CLOSE, &      use netcdf95, only: NF95_GET_VAR, nf95_open, nf95_inq_varid, NF95_CLOSE, &
23           NF95_Gw_VAR           NF95_Gw_VAR
24      use nr_util, only: assert      use nr_util, only: assert
25      use serre, only: clon, clat, grossismy, grossismx      use serre, only: clon, clat, grossismy, grossismx, dzoomx, dzoomy, taux, &
26             tauy
27      use temps, only: day_ref, itau_dyn, annee_ref      use temps, only: day_ref, itau_dyn, annee_ref
28    
29      REAL, intent(out):: vcov(: , :, :) ! (iim + 1, jjm, llm)      REAL, intent(out):: vcov(: , :, :) ! (iim + 1, jjm, llm)
# Line 59  contains Line 59  contains
59      call nf95_inq_varid(ncid, "controle", varid)      call nf95_inq_varid(ncid, "controle", varid)
60      call NF95_Gw_VAR(ncid, varid, tab_cntrl)      call NF95_Gw_VAR(ncid, varid, tab_cntrl)
61    
62      im = int(tab_cntrl(1))      call assert(int(tab_cntrl(1)) == iim, "dynetat0 tab_cntrl iim")
63      jm = int(tab_cntrl(2))      call assert(int(tab_cntrl(2)) == jjm, "dynetat0 tab_cntrl jjm")
64      lllm = int(tab_cntrl(3))      call assert(int(tab_cntrl(3)) == llm, "dynetat0 tab_cntrl llm")
     call assert(im == iim, "dynetat0 im iim")  
     call assert(jm == jjm, "dynetat0 jm jjm")  
     call assert(lllm == llm, "dynetat0 lllm llm")  
65    
66      day_ref = int(tab_cntrl(4))      day_ref = int(tab_cntrl(4))
67      annee_ref = int(tab_cntrl(5))      annee_ref = int(tab_cntrl(5))
68      dtvr = tab_cntrl(12)  
69        IF (dtvr /= tab_cntrl(12)) THEN
70           print *, 'Warning: the time steps from day_step and "start.nc" ' // &
71              'are different.'
72           print *, 'dtvr from day_step: ', dtvr
73           print *, 'dtvr from "start.nc": ', tab_cntrl(12)
74           print *, 'Using the value from day_step.'
75        ENDIF
76    
77      etot0 = tab_cntrl(13)      etot0 = tab_cntrl(13)
78      ptot0 = tab_cntrl(14)      ptot0 = tab_cntrl(14)
79      ztot0 = tab_cntrl(15)      ztot0 = tab_cntrl(15)
80      stot0 = tab_cntrl(16)      stot0 = tab_cntrl(16)
81      ang0 = tab_cntrl(17)      ang0 = tab_cntrl(17)
82      pa = tab_cntrl(18)      pa = tab_cntrl(18)
83    
84      clon = tab_cntrl(20)      clon = tab_cntrl(20)
85      clat = tab_cntrl(21)      clat = tab_cntrl(21)
86      grossismx = tab_cntrl(22)      grossismx = tab_cntrl(22)
87      grossismy = tab_cntrl(23)      grossismy = tab_cntrl(23)
88      fxyhypb = tab_cntrl(24) == 1.      dzoomx = tab_cntrl(25)
89      if (.not. fxyhypb) ysinus = tab_cntrl(27) == 1.      dzoomy = tab_cntrl(26)
90        taux = tab_cntrl(28)
91        tauy = tab_cntrl(29)
92    
93      itau_dyn = tab_cntrl(31)      itau_dyn = tab_cntrl(31)
94    
95      call NF95_INQ_VARID (ncid, "rlonu", varid)      call NF95_INQ_VARID (ncid, "rlonu", varid)
# Line 141  contains Line 150  contains
150    
151      call NF95_INQ_VARID (ncid, "ps", varid)      call NF95_INQ_VARID (ncid, "ps", varid)
152      call NF95_GET_VAR(ncid, varid, ps)      call NF95_GET_VAR(ncid, varid, ps)
153        ! Check that there is a single value at each pole:
154        call assert(ps(1, 1) == ps(2:, 1), "dynetat0 ps north pole")
155        call assert(ps(1, jjm + 1) == ps(2:, jjm + 1), "dynetat0 ps south pole")
156    
157      call NF95_CLOSE(ncid)      call NF95_CLOSE(ncid)
158    

Legend:
Removed from v.76  
changed lines
  Added in v.113

  ViewVC Help
Powered by ViewVC 1.1.21