/[lmdze]/trunk/phylmd/physiq.f
ViewVC logotype

Diff of /trunk/phylmd/physiq.f

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

revision 225 by guez, Mon Oct 16 12:35:41 2017 UTC revision 242 by guez, Mon Nov 13 12:12:41 2017 UTC
# Line 44  contains Line 44  contains
44      USE indicesol, ONLY: clnsurf, epsfra, is_lic, is_oce, is_sic, is_ter, &      USE indicesol, ONLY: clnsurf, epsfra, is_lic, is_oce, is_sic, is_ter, &
45           nbsrf           nbsrf
46      USE ini_histins_m, ONLY: ini_histins, nid_ins      USE ini_histins_m, ONLY: ini_histins, nid_ins
47        use lift_noro_m, only: lift_noro
48      use netcdf95, only: NF95_CLOSE      use netcdf95, only: NF95_CLOSE
49      use newmicro_m, only: newmicro      use newmicro_m, only: newmicro
50      use nr_util, only: assert      use nr_util, only: assert
51      use nuage_m, only: nuage      use nuage_m, only: nuage
52      USE orbite_m, ONLY: orbite      USE orbite_m, ONLY: orbite
53      USE ozonecm_m, ONLY: ozonecm      USE ozonecm_m, ONLY: ozonecm
54      USE phyetat0_m, ONLY: phyetat0, rlat, rlon      USE phyetat0_m, ONLY: phyetat0
55      USE phyredem_m, ONLY: phyredem      USE phyredem_m, ONLY: phyredem
56      USE phyredem0_m, ONLY: phyredem0      USE phyredem0_m, ONLY: phyredem0
57      USE phytrac_m, ONLY: phytrac      USE phytrac_m, ONLY: phytrac
# Line 183  contains Line 184  contains
184      REAL cdragh(klon) ! drag coefficient pour T and Q      REAL cdragh(klon) ! drag coefficient pour T and Q
185      REAL cdragm(klon) ! drag coefficient pour vent      REAL cdragm(klon) ! drag coefficient pour vent
186    
187      ! Pour phytrac :      REAL ycoefh(klon, 2:llm) ! coef d'echange pour phytrac
     REAL ycoefh(klon, llm) ! coef d'echange pour phytrac  
     REAL yu1(klon), yv1(klon) ! vent dans la premi\`ere couche  
188    
189      REAL, save:: ffonte(klon, nbsrf)      REAL, save:: ffonte(klon, nbsrf)
190      ! flux thermique utilise pour fondre la neige      ! flux thermique utilise pour fondre la neige
# Line 249  contains Line 248  contains
248    
249      REAL flux_q(klon, nbsrf) ! flux turbulent d'humidite à la surface      REAL flux_q(klon, nbsrf) ! flux turbulent d'humidite à la surface
250      REAL flux_t(klon, nbsrf) ! flux turbulent de chaleur à la surface      REAL flux_t(klon, nbsrf) ! flux turbulent de chaleur à la surface
251      REAL flux_u(klon, nbsrf) ! flux turbulent de vitesse u à la surface  
252      REAL flux_v(klon, nbsrf) ! flux turbulent de vitesse v à la surface      REAL flux_u(klon, nbsrf), flux_v(klon, nbsrf)
253        ! tension du vent (flux turbulent de vent) à la surface, en Pa
254    
255      ! Le rayonnement n'est pas calcul\'e tous les pas, il faut donc que      ! Le rayonnement n'est pas calcul\'e tous les pas, il faut donc que
256      ! les variables soient r\'emanentes.      ! les variables soient r\'emanentes.
# Line 370  contains Line 370  contains
370    
371      REAL zustrdr(klon), zvstrdr(klon)      REAL zustrdr(klon), zvstrdr(klon)
372      REAL zustrli(klon), zvstrli(klon)      REAL zustrli(klon), zvstrli(klon)
     REAL zustrph(klon), zvstrph(klon)  
373      REAL aam, torsfc      REAL aam, torsfc
374    
375      REAL ve_lay(klon, llm) ! transport meri. de l'energie a chaque niveau vert.      REAL ve_lay(klon, llm) ! transport meri. de l'energie a chaque niveau vert.
# Line 572  contains Line 571  contains
571           paprs, play, fsnow, fqsurf, fevap, falbe, fluxlat, rain_fall, &           paprs, play, fsnow, fqsurf, fevap, falbe, fluxlat, rain_fall, &
572           snow_fall, fsolsw, fsollw, frugs, agesno, rugoro, d_t_vdf, d_q_vdf, &           snow_fall, fsolsw, fsollw, frugs, agesno, rugoro, d_t_vdf, d_q_vdf, &
573           d_u_vdf, d_v_vdf, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, &           d_u_vdf, d_v_vdf, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, &
574           cdragm, q2, dsens, devap, ycoefh, yu1, yv1, t2m, q2m, u10m_srf, &           cdragm, q2, dsens, devap, ycoefh, t2m, q2m, u10m_srf, v10m_srf, &
575           v10m_srf, pblh, capCL, oliqCL, cteiCL, pblT, therm, trmb1, trmb2, &           pblh, capCL, oliqCL, cteiCL, pblT, therm, trmb1, trmb2, trmb3, plcl, &
576           trmb3, plcl, fqcalving, ffonte, run_off_lic_0)           fqcalving, ffonte, run_off_lic_0)
577    
578      ! Incr\'ementation des flux      ! Incr\'ementation des flux
579    
# Line 932  contains Line 931  contains
931            ENDIF            ENDIF
932         ENDDO         ENDDO
933    
934         CALL lift_noro(klon, llm, dtphys, paprs, play, rlat, zmea, zstd, zpic, &         CALL lift_noro(dtphys, paprs, play, zmea, zstd, zpic, itest, t_seri, &
935              itest, t_seri, u_seri, v_seri, zulow, zvlow, zustrli, zvstrli, &              u_seri, v_seri, zulow, zvlow, zustrli, zvstrli, d_t_lif, &
936              d_t_lif, d_u_lif, d_v_lif)              d_u_lif, d_v_lif)
937    
938         ! Ajout des tendances :         ! Ajout des tendances :
939         DO k = 1, llm         DO k = 1, llm
# Line 946  contains Line 945  contains
945         ENDDO         ENDDO
946      ENDIF      ENDIF
947    
948      ! Stress n\'ecessaires : toute la physique      CALL aaam_bud(rg, romega, pphis, zustrdr, zustrli, &
949             sum((u_seri - u) / dtphys * zmasse, dim = 2), zvstrdr, &
950      DO i = 1, klon           zvstrli, sum((v_seri - v) / dtphys * zmasse, dim = 2), paprs, u, v, &
951         zustrph(i) = 0.           aam, torsfc)
        zvstrph(i) = 0.  
     ENDDO  
     DO k = 1, llm  
        DO i = 1, klon  
           zustrph(i) = zustrph(i) + (u_seri(i, k) - u(i, k)) / dtphys &  
                * zmasse(i, k)  
           zvstrph(i) = zvstrph(i) + (v_seri(i, k) - v(i, k)) / dtphys &  
                * zmasse(i, k)  
        ENDDO  
     ENDDO  
   
     CALL aaam_bud(rg, romega, rlat, rlon, pphis, zustrdr, zustrli, zustrph, &  
          zvstrdr, zvstrli, zvstrph, paprs, u, v, aam, torsfc)  
952    
953      ! Calcul des tendances traceurs      ! Calcul des tendances traceurs
954      call phytrac(julien, time, firstcal, lafin, dtphys, t, paprs, play, mfu, &      call phytrac(julien, time, firstcal, lafin, dtphys, t, paprs, play, mfu, &
955           mfd, pde_u, pen_d, ycoefh, fm_therm, entr_therm, yu1, yv1, ftsol, &           mfd, pde_u, pen_d, ycoefh, cdragh, fm_therm, entr_therm, u(:, 1), &
956           pctsrf, frac_impa, frac_nucl, da, phi, mp, upwd, dnwd, tr_seri, &           v(:, 1), ftsol, pctsrf, frac_impa, frac_nucl, da, phi, mp, upwd, &
957           zmasse, ncid_startphy)           dnwd, tr_seri, zmasse, ncid_startphy)
958    
959      ! Calculer le transport de l'eau et de l'energie (diagnostique)      ! Calculer le transport de l'eau et de l'energie (diagnostique)
960      CALL transp(paprs, t_seri, q_seri, u_seri, v_seri, zphi, ve, vq, ue, uq)      CALL transp(paprs, t_seri, q_seri, u_seri, v_seri, zphi, ve, vq, ue, uq)

Legend:
Removed from v.225  
changed lines
  Added in v.242

  ViewVC Help
Powered by ViewVC 1.1.21