Changeset 5302 for LMDZ6/trunk/libf/phylmd/dyn1d
- Timestamp:
- Oct 30, 2024, 6:19:06 PM (7 weeks ago)
- Location:
- LMDZ6/trunk/libf/phylmd/dyn1d
- Files:
-
- 8 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/dyn1d/1DUTILS.h
r5301 r5302 1 #include "conf_gcm.f90" 2 3 ! 4 ! $Id$ 5 ! 6 ! 7 ! 1 8 2 SUBROUTINE conf_unicol 9 3 ! … … 14 8 USE fcg_gcssold_mod_h 15 9 USE flux_arp_mod_h 10 USE compar1d_mod_h 16 11 IMPLICIT NONE 17 12 !----------------------------------------------------------------------- … … 21 16 ! -------------- 22 17 23 #include "compar1d.h" 24 #include "fcg_racmo.h" 18 25 19 ! 26 20 ! -
LMDZ6/trunk/libf/phylmd/dyn1d/compar1d_mod_h.f90
r5301 r5302 1 ! 2 ! $Id: compar1d.h 2010-08-04 17:02:56Z lahellec $ 3 ! 4 integer :: forcing_type 5 integer :: tend_u,tend_v,tend_w,tend_t,tend_q,tend_rayo 6 real :: nudge_u,nudge_v,nudge_w,nudge_t,nudge_q 7 integer :: iflag_nudge 8 real :: nat_surf 9 real :: tsurf 10 real :: beta_surf 11 real :: rugos 12 real :: rugosh 13 real :: xqsol(1:2) 14 real :: qsurf 15 real :: psurf 16 real :: zsurf 17 real :: albedo 18 real :: snowmass 1 MODULE compar1d_mod_h 2 IMPLICIT NONE; PRIVATE 3 PUBLIC nat_surf, tsurf, beta_surf, rugos, rugosh, & 4 xqsol, qsurf, psurf, zsurf, albedo, time, time_ini, xlat, xlon, airefi, & 5 wtsurf, wqsurf, restart_runoff, xagesno, qsolinp, zpicinp, & 6 forcing_type, tend_u, tend_v, tend_w, tend_t, tend_q, tend_rayo, & 7 nudge_u, nudge_v, nudge_w, nudge_t, nudge_q, & 8 iflag_nudge, snowmass, & 9 restart, ok_old_disvert, & 10 tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh, & 11 trad, forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar, & 12 nudging_u, nudging_v, nudging_t, nudging_qv, nudging_w, & 13 p_nudging_u, p_nudging_v, p_nudging_t, p_nudging_qv, p_nudging_w 19 14 20 real :: time 21 real :: time_ini 22 real :: xlat 23 real :: xlon 24 real :: airefi 25 real :: wtsurf 26 real :: wqsurf 27 real :: restart_runoff 28 real :: xagesno 29 real :: qsolinp 30 real :: zpicinp 15 INTEGER :: forcing_type 16 INTEGER :: tend_u, tend_v, tend_w, tend_t, tend_q, tend_rayo 17 REAL :: nudge_u, nudge_v, nudge_w, nudge_t, nudge_q 18 INTEGER :: iflag_nudge 19 REAL :: nat_surf 20 REAL :: tsurf 21 REAL :: beta_surf 22 REAL :: rugos 23 REAL :: rugosh 24 REAL :: xqsol(1:2) 25 REAL :: qsurf 26 REAL :: psurf 27 REAL :: zsurf 28 REAL :: albedo 29 REAL :: snowmass 31 30 32 logical :: restart 33 logical :: ok_old_disvert 31 REAL :: time 32 REAL :: time_ini 33 REAL :: xlat 34 REAL :: xlon 35 REAL :: airefi 36 REAL :: wtsurf 37 REAL :: wqsurf 38 REAL :: restart_runoff 39 REAL :: xagesno 40 REAL :: qsolinp 41 REAL :: zpicinp 34 42 35 ! Pour les forcages communs: ces entiers valent 0 ou 1 36 ! tadv= advection tempe, tadvv= adv tempe verticale, tadvh= adv tempe horizontale 37 ! idem pour l advection en theta 38 ! qadv= advection q, qadvv= adv q verticale, qadvh= adv q horizontale 39 ! trad= 0 (rayonnement actif) ou 1 (prescrit par tend_rad) ou adv (prescir et contenu dans les tadv) 40 ! forcages en omega, w, vent geostrophique ou ustar 41 ! Parametres de nudging en u,v,t,q valent 0 ou 1 ou le temps de nudging 43 LOGICAL :: restart 44 LOGICAL :: ok_old_disvert 42 45 43 integer :: tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh, trad 44 integer :: forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar 45 real :: nudging_u, nudging_v, nudging_w, nudging_t, nudging_qv 46 real :: p_nudging_u, p_nudging_v, p_nudging_w, p_nudging_t, p_nudging_qv 47 common/com_par1d/ & 48 & nat_surf,tsurf,beta_surf,rugos,rugosh, & 49 & xqsol,qsurf,psurf,zsurf,albedo,time,time_ini,xlat,xlon,airefi, & 50 & wtsurf,wqsurf,restart_runoff,xagesno,qsolinp,zpicinp, & 51 & forcing_type,tend_u,tend_v,tend_w,tend_t,tend_q,tend_rayo, & 52 & nudge_u,nudge_v,nudge_w,nudge_t,nudge_q, & 53 & iflag_nudge,snowmass, & 54 & restart,ok_old_disvert, & 55 & tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh, & 56 & trad, forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar, & 57 & nudging_u, nudging_v, nudging_t, nudging_qv, nudging_w, & 58 & p_nudging_u, p_nudging_v, p_nudging_t, p_nudging_qv, p_nudging_w 46 ! Pour les forcages communs: ces entiers valent 0 ou 1 47 ! tadv= advection tempe, tadvv= adv tempe verticale, tadvh= adv tempe horizontale 48 ! idem pour l advection en theta 49 ! qadv= advection q, qadvv= adv q verticale, qadvh= adv q horizontale 50 ! trad= 0 (rayonnement actif) ou 1 (prescrit par tend_rad) ou adv (prescir et contenu dans les tadv) 51 ! forcages en omega, w, vent geostrophique ou ustar 52 ! Parametres de nudging en u,v,t,q valent 0 ou 1 ou le temps de nudging 59 53 60 !$OMP THREADPRIVATE(/com_par1d/) 54 INTEGER :: tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh, trad 55 INTEGER :: forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar 56 REAL :: nudging_u, nudging_v, nudging_w, nudging_t, nudging_qv 57 REAL :: p_nudging_u, p_nudging_v, p_nudging_w, p_nudging_t, p_nudging_qv 61 58 62 59 60 !$OMP THREADPRIVATE(nat_surf, tsurf, beta_surf, rugos, rugosh, & 61 !$OMP xqsol, qsurf, psurf, zsurf, albedo, time, time_ini, xlat, xlon, airefi, & 62 !$OMP wtsurf, wqsurf, restart_runoff, xagesno, qsolinp, zpicinp, & 63 !$OMP forcing_type, tend_u, tend_v, tend_w, tend_t, tend_q, tend_rayo, & 64 !$OMP nudge_u, nudge_v, nudge_w, nudge_t, nudge_q, & 65 !$OMP iflag_nudge, snowmass, & 66 !$OMP restart, ok_old_disvert, & 67 !$OMP tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh, & 68 !$OMP trad, forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar, & 69 !$OMP nudging_u, nudging_v, nudging_t, nudging_qv, nudging_w, & 70 !$OMP p_nudging_u, p_nudging_v, p_nudging_t, p_nudging_qv, p_nudging_w) 63 71 64 65 66 67 68 69 70 71 72 END MODULE compar1d_mod_h -
LMDZ6/trunk/libf/phylmd/dyn1d/date_cas_mod_h.f90
r5301 r5302 1 integer :: year_ini_cas ! initial year of the case 2 integer :: mth_ini_cas ! initial month of the case 3 integer :: day_deb ! initial day of the case 4 real :: heure_ini_cas ! start time of the case 5 real :: pdt_cas ! forcing_frequency 6 real :: day_ju_ini_cas ! julian day of initial day of the case 1 MODULE date_cas_mod_h 2 IMPLICIT NONE; PRIVATE 3 PUBLIC year_ini_cas, mth_ini_cas, day_deb, heure_ini_cas, pdt_cas, day_ju_ini_cas 7 4 8 common /date_cas/year_ini_cas,mth_ini_cas,day_deb,heure_ini_cas,pdt_cas,day_ju_ini_cas 5 INTEGER :: year_ini_cas ! initial year of the case 6 INTEGER :: mth_ini_cas ! initial month of the case 7 INTEGER :: day_deb ! initial day of the case 8 REAL :: heure_ini_cas ! start time of the case 9 REAL :: pdt_cas ! forcing_frequency 10 REAL :: day_ju_ini_cas ! julian day of initial day of the case 11 END MODULE date_cas_mod_h 9 12 -
LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_amma_read.f90
r5270 r5302 352 352 & ,vitw_amma,ht_amma,hq_amma,lat_amma,sens_amma & 353 353 & ,vitw_prof,ht_prof,hq_prof,lat_prof,sens_prof) 354 USE compar1d_mod_h 354 355 implicit none 355 356 … … 362 363 ! dt_amma: total time interval (in sec) between 2 forcing data (e.g. 30min for AMMA) 363 364 !--------------------------------------------------------------------------------------- 364 365 INCLUDE "compar1d.h"366 365 367 366 ! inputs: -
LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read.f90
r5270 r5302 828 828 & ,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas) 829 829 830 830 USE compar1d_mod_h 831 USE date_cas_mod_h 831 832 implicit none 832 833 … … 839 840 ! pdt_cas: total time interval (in sec) between 2 forcing data 840 841 !--------------------------------------------------------------------------------------- 841 842 INCLUDE "compar1d.h"843 INCLUDE "date_cas.h"844 842 845 843 ! inputs: -
LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read2.f90
r5270 r5302 315 315 SUBROUTINE old_read_SCM_cas 316 316 use netcdf, only: nf90_get_var 317 USE date_cas_mod_h 317 318 implicit none 318 INCLUDE "date_cas.h"319 319 320 320 INTEGER nid,rid,ierr … … 1043 1043 ,hq_prof_cas,vq_prof_cas,lat_prof_cas,sens_prof_cas & 1044 1044 ,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas) 1045 1046 1045 USE compar1d_mod_h 1046 USE date_cas_mod_h 1047 1047 implicit none 1048 1048 … … 1055 1055 ! pdt_cas: total time interval (in sec) between 2 forcing data 1056 1056 !--------------------------------------------------------------------------------------- 1057 1058 INCLUDE "compar1d.h"1059 INCLUDE "date_cas.h"1060 1057 1061 1058 ! inputs: … … 1253 1250 ,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tke_prof_cas) 1254 1251 1255 1252 USE compar1d_mod_h 1253 USE date_cas_mod_h 1256 1254 implicit none 1257 1255 … … 1264 1262 ! pdt_cas: total time interval (in sec) between 2 forcing data 1265 1263 !--------------------------------------------------------------------------------------- 1266 1267 INCLUDE "compar1d.h"1268 INCLUDE "date_cas.h"1269 1264 1270 1265 ! inputs: -
LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read_std.f90
r5285 r5302 90 90 SUBROUTINE read_SCM_cas 91 91 use netcdf, only: nf90_get_var 92 USE date_cas_mod_h 92 93 implicit none 93 INCLUDE "date_cas.h"94 94 95 95 INTEGER nid,rid,ierr … … 330 330 !program reading forcing of the case study 331 331 use netcdf, only: nf90_get_var 332 USE compar1d_mod_h 332 333 implicit none 333 INCLUDE "compar1d.h"334 334 335 335 integer ntime,nlevel,k,t … … 653 653 ,lat_prof_cas,sens_prof_cas & 654 654 ,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas) 655 656 657 658 659 660 655 USE compar1d_mod_h 656 USE date_cas_mod_h 661 657 implicit none 662 658 … … 669 665 ! pdt_cas: total time interval (in sec) between 2 forcing data 670 666 !--------------------------------------------------------------------------------------- 671 672 INCLUDE "compar1d.h"673 INCLUDE "date_cas.h"674 667 675 668 ! inputs: -
LMDZ6/trunk/libf/phylmd/dyn1d/old_1DUTILS_read_interp.h
r5285 r5302 1556 1556 & ,ts_prof,plev_prof,t_prof,q_prof,u_prof,v_prof,w_prof & 1557 1557 & ,ht_prof,vt_prof,hq_prof,vq_prof) 1558 USE compar1d_mod_h 1558 1559 implicit none 1559 1560 … … 1566 1567 ! dt_toga: total time interval (in sec) between 2 forcing data (e.g. 6h for TOGA-COARE) 1567 1568 !--------------------------------------------------------------------------------------- 1568 1569 INCLUDE "compar1d.h"1570 1569 1571 1570 ! inputs: … … 1698 1697 & ,ustar_prof,psurf_prof,ug_prof,vg_prof & 1699 1698 & ,ht_prof,hq_prof,hu_prof,hv_prof,w_prof,omega_prof) 1699 USE compar1d_mod_h 1700 1700 implicit none 1701 1701 … … 1708 1708 ! dt_dice: total time interval (in sec) between 2 forcing data (e.g. 30min. for Dice) 1709 1709 !--------------------------------------------------------------------------------------- 1710 1711 INCLUDE "compar1d.h"1712 1710 1713 1711 ! inputs: … … 1811 1809 & ,ug_gabls4,vg_gabls4,ht_gabls4,hq_gabls4,tg_gabls4 & 1812 1810 & ,ug_prof,vg_prof,ht_prof,hq_prof,tg_prof) 1811 USE compar1d_mod_h 1813 1812 implicit none 1814 1813 … … 1821 1820 ! dt_gabls4: total time interval (in sec) between 2 forcing data (e.g. 60min. for gabls4) 1822 1821 !--------------------------------------------------------------------------------------- 1823 1824 INCLUDE "compar1d.h"1825 1822 1826 1823 ! inputs: -
LMDZ6/trunk/libf/phylmd/dyn1d/old_lmdz1d.f90
r5301 r5302 56 56 USE tsoilnudge_mod_h 57 57 USE fcg_gcssold_mod_h 58 USE compar1d_mod_h 59 USE date_cas_mod_h 58 60 implicit none 59 61 60 INCLUDE "compar1d.h"61 INCLUDE "date_cas.h"62 62 !!! INCLUDE "fbforcing.h" 63 63 -
LMDZ6/trunk/libf/phylmd/dyn1d/scm.f90
r5301 r5302 52 52 USE tsoilnudge_mod_h 53 53 USE fcg_gcssold_mod_h 54 USE compar1d_mod_h 55 USE date_cas_mod_h 54 56 implicit none 55 INCLUDE "compar1d.h"56 INCLUDE "date_cas.h"57 57 58 58 !=====================================================================
Note: See TracChangeset
for help on using the changeset viewer.