/[lmdze]/trunk/Sources/dyn3d/etat0.f
ViewVC logotype

Diff of /trunk/Sources/dyn3d/etat0.f

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

revision 157 by guez, Mon Jul 20 16:01:49 2015 UTC revision 207 by guez, Thu Sep 1 10:30:53 2016 UTC
# Line 20  contains Line 20  contains
20      use caldyn0_m, only: caldyn0      use caldyn0_m, only: caldyn0
21      use comconst, only: cpp, kappa, iniconst      use comconst, only: cpp, kappa, iniconst
22      use comgeom, only: aire_2d, apoln, apols, cu_2d, cv_2d, inigeom      use comgeom, only: aire_2d, apoln, apols, cu_2d, cv_2d, inigeom
23      use conf_gcm_m, only: nday, day_step, iphysiq      use conf_gcm_m, only: nday
24      use dimens_m, only: iim, jjm, llm, nqmx      use dimens_m, only: iim, jjm, llm, nqmx
25      use dimphy, only: zmasq      use dimphy, only: zmasq
26      use dimsoil, only: nsoilmx      use dimsoil, only: nsoilmx
# Line 43  contains Line 43  contains
43      use netcdf95, only: nf95_close, nf95_get_var, nf95_gw_var, nf95_put_var, &      use netcdf95, only: nf95_close, nf95_get_var, nf95_gw_var, nf95_put_var, &
44           nf95_inq_varid, nf95_open           nf95_inq_varid, nf95_open
45      use nr_util, only: pi, assert      use nr_util, only: pi, assert
46      use paramet_m, only: ip1jm, ip1jmp1      use phyetat0_m, only: rlat, rlon, itau_phy
     use phyetat0_m, only: rlat, rlon  
47      use phyredem0_m, only: phyredem0, ncid_restartphy      use phyredem0_m, only: phyredem0, ncid_restartphy
48      use phyredem_m, only: phyredem      use phyredem_m, only: phyredem
49      use q_sat_m, only: q_sat      use q_sat_m, only: q_sat
# Line 54  contains Line 53  contains
53      USE start_init_orog_m, only: start_init_orog, mask      USE start_init_orog_m, only: start_init_orog, mask
54      use start_init_phys_m, only: start_init_phys      use start_init_phys_m, only: start_init_phys
55      use start_inter_3d_m, only: start_inter_3d      use start_inter_3d_m, only: start_inter_3d
     use temps, only: itau_phy  
56      use test_disvert_m, only: test_disvert      use test_disvert_m, only: test_disvert
57      use unit_nml_m, only: unit_nml      use unit_nml_m, only: unit_nml
58    
# Line 101  contains Line 99  contains
99    
100      REAL pk(iim + 1, jjm + 1, llm) ! fonction d'Exner aux milieux des couches      REAL pk(iim + 1, jjm + 1, llm) ! fonction d'Exner aux milieux des couches
101      real pks(iim + 1, jjm + 1)      real pks(iim + 1, jjm + 1)
   
102      REAL masse(iim + 1, jjm + 1, llm)      REAL masse(iim + 1, jjm + 1, llm)
103      REAL phi(iim + 1, jjm + 1, llm)      REAL phi(iim + 1, jjm + 1, llm)
     REAL pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)  
     REAL w(iim + 1, jjm + 1, llm)  
   
104      real sig1(klon, llm) ! section adiabatic updraft      real sig1(klon, llm) ! section adiabatic updraft
105      real w01(klon, llm) ! vertical velocity within adiabatic updraft      real w01(klon, llm) ! vertical velocity within adiabatic updraft
106    
# Line 294  contains Line 288  contains
288      pctsrf(:, is_oce) = 1. - zmasq      pctsrf(:, is_oce) = 1. - zmasq
289      WHERE (pctsrf(:, is_oce) < EPSFRA) pctsrf(:, is_oce) = 0.      WHERE (pctsrf(:, is_oce) < EPSFRA) pctsrf(:, is_oce) = 0.
290    
291      ! V\'erification que somme des sous-surfaces vaut 1 :      ! V\'erification que la somme des sous-surfaces vaut 1 :
292      ji = count(abs(sum(pctsrf, dim = 2) - 1.) > EPSFRA)      ji = count(abs(sum(pctsrf, dim = 2) - 1.) > EPSFRA)
293      IF (ji /= 0) then      IF (ji /= 0) then
294         PRINT *, 'Bad surface percentages for ', ji, 'points'         PRINT *, 'Bad surface percentages for ', ji, 'points'
# Line 311  contains Line 305  contains
305    
306      call iniadvtrac      call iniadvtrac
307      CALL geopot(teta, pk , pks, phis, phi)      CALL geopot(teta, pk , pks, phis, phi)
308      CALL caldyn0(ucov, vcov, teta, ps, masse, pk, phis, phi, w, pbaru, pbarv)      CALL caldyn0(ucov, vcov, teta, ps, pk, phis, phi)
309      CALL dynredem0(day_ref, phis)      CALL dynredem0(day_ref, phis)
310      CALL dynredem1(vcov, ucov, teta, q, masse, ps, itau = 0)      CALL dynredem1(vcov, ucov, teta, q, masse, ps, itau = 0)
311    
# Line 340  contains Line 334  contains
334      sig1 = 0.      sig1 = 0.
335      w01 = 0.      w01 = 0.
336    
     itau_phy = 0  
337      nday = 0      nday = 0
338      call phyredem0(lmt_pas = day_step / iphysiq)      itau_phy = 0 ! side effect
339        call phyredem0
340    
341      call nf95_inq_varid(ncid_restartphy, "trs", varid)      call nf95_inq_varid(ncid_restartphy, "trs", varid)
342      call nf95_put_var(ncid_restartphy, varid, null_array)      call nf95_put_var(ncid_restartphy, varid, null_array)
343    
344      call phyredem(pctsrf, tsoil(:, 1, :), tsoil, tsoil(:, 1, is_oce), &      call phyredem(pctsrf, tsoil(:, 1, :), tsoil, qsolsrf, &
345           null_array, qsolsrf, pack(qsol_2d, dyn_phy), snsrf, albe, evap, &           pack(qsol_2d, dyn_phy), snsrf, albe, evap, null_array, null_array, &
346           null_array, null_array, solsw, sollw, null_array, null_array, frugs, &           solsw, sollw, null_array, null_array, frugs, agesno, zmea, zstd, &
347           agesno, zmea, zstd, zsig, zgam, zthe, zpic, zval, t_ancien, &           zsig, zgam, zthe, zpic, zval, t_ancien, q_ancien, rnebcon, ratqs, &
348           q_ancien, rnebcon, ratqs, clwcon, null_array, sig1, w01)           clwcon, null_array, sig1, w01)
349    
350    END SUBROUTINE etat0    END SUBROUTINE etat0
351    

Legend:
Removed from v.157  
changed lines
  Added in v.207

  ViewVC Help
Powered by ViewVC 1.1.21