Changeset 3686


Ignore:
Timestamp:
May 27, 2020, 2:59:10 PM (4 years ago)
Author:
fhourdin
Message:

Retropedalage sur le 1D.
Annulation de toutes les modifs de la veille.
Frederic

Location:
LMDZ6/trunk/libf/phylmd/dyn1d
Files:
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/dyn1d/1DUTILS.h

    r3682 r3686  
    627627      RETURN
    628628      END
    629 !     
    630       SUBROUTINE conf_unicol_std
    631 !
    632 #ifdef CPP_IOIPSL
    633       use IOIPSL
    634 #else
    635 ! if not using IOIPSL, we still need to use (a local version of) getin
    636       use ioipsl_getincom
    637 #endif
    638       USE print_control_mod, ONLY: lunout
    639       IMPLICIT NONE
    640 !-----------------------------------------------------------------------
    641 !     Auteurs :   A. Lahellec  - adaptation au format standard.
    642 !
    643 !   Declarations :
    644 !   --------------
    645 
    646 #include "compar1d_std.h"
    647 #include "flux_arp.h"
    648 #include "tsoilnudge.h"
    649 #include "fcg_gcssold.h"
    650 #include "fcg_racmo.h"
    651 !
    652 !
    653 !   local:
    654 !   ------
    655 
    656 !      CHARACTER ch1*72,ch2*72,ch3*72,ch4*12
    657      
    658 !
    659 !  -------------------------------------------------------------------
    660 !
    661 !      .........    Initilisation parametres du lmdz1D      ..........
    662 !
    663 !---------------------------------------------------------------------
    664 !   initialisations:
    665 !   ----------------
    666 
    667 !Config  Key  = lunout
    668 !Config  Desc = unite de fichier pour les impressions
    669 !Config  Def  = 6
    670 !Config  Help = unite de fichier pour les impressions
    671 !Config         (defaut sortie standard = 6)
    672       lunout=6
    673 !      CALL getin('lunout', lunout)
    674       IF (lunout /= 5 .and. lunout /= 6) THEN
    675         OPEN(lunout,FILE='lmdz.out')
    676       ENDIF
    677 
    678 !Config  Key  = prt_level
    679 !Config  Desc = niveau d'impressions de debogage
    680 !Config  Def  = 0
    681 !Config  Help = Niveau d'impression pour le debogage
    682 !Config         (0 = minimum d'impression)
    683 !      prt_level = 0
    684 !      CALL getin('prt_level',prt_level)
    685 
    686 !-----------------------------------------------------------------------
    687 !  Parametres de controle du run:
    688 !-----------------------------------------------------------------------
    689 
    690 !Config  Key  = restart
    691 !Config  Desc = on repart des startphy et start1dyn
    692 !Config  Def  = false
    693 !Config  Help = les fichiers restart doivent etre renomme en start
    694        restart =.false.
    695        CALL getin('restart',restart)
    696 
    697 !----------------------------------------------------------
    698 ! Parametres de forcage pour les forcages communs:
    699 ! Voir ici: https://github.com/romainroehrig/DEPHY-SCM/blob/master/DEPHY_Format_Version_0.pdf
    700 ! Pour les forcages communs: ces entiers valent 0 ou 1
    701 ! adv_temp= advection tempe, theta ou thetal, qv,qt,rv ou rt
    702 ! rad_temp= 0 (rayonnement actif) ou 1 (prescrit par tend_rad) ou adv (prescir et contenu dans les adv_temp)
    703 ! idem rad_theta et rad_thetal 
    704 ! forcages en omega, w, vent geostrophique ou ustar
    705 ! Parametres de nudging en u,v,temp, theta, thetal,qv, qt, rv, rt valent 0 ou 1 ou le temps de nudging
    706 ! p_nudging_xxx pression (Pa) a partir de laquelle appliquer le nudging de xxx
    707 ! ou z_nudging_xxx hauteur(m) a partir de laquelle appliquer le nudging de xxx
    708 !----------------------------------------------------------
    709 !
    710 !Parametres de forcage
    711 !Config  Key  = adv_temp
    712 !Config  Desc = forcage ou non par advection de T
    713 !Config  Def  = false
    714 !Config  Help = forcage ou non par advection de T
    715        adv_temp =0
    716        CALL getin('adv_temp',adv_temp)
    717 
    718 !
    719 !Parametres de forcage
    720 !Config  Key  = adv_theta
    721 !Config  Desc = forcage ou non par advection de Theta
    722 !Config  Def  = false
    723 !Config  Help = forcage ou non par advection de Theta
    724        adv_theta =0
    725        CALL getin('adv_theta',adv_theta)
    726 
    727 !
    728 !Parametres de forcage
    729 !Config  Key  = adv_thetal
    730 !Config  Desc = forcage ou non par advection de Thetal
    731 !Config  Def  = false
    732 !Config  Help = forcage ou non par advection de Thetal
    733        adv_thetal =0
    734        CALL getin('adv_thetal',adv_thetal)
    735 
    736 !
    737 !Parametres de forcage
    738 !Config  Key  = rad_temp
    739 !Config  Desc = forcage par tendance radiative en tempe
    740 !Config  Def  = false
    741 !Config  Help = forcage par tendance radiative en tempe
    742        rad_temp ="0"
    743        CALL getin('rad_temp',rad_temp)
    744 
    745 !
    746 !Parametres de forcage
    747 !Config  Key  = rad_theta
    748 !Config  Desc = forcage par tendance radiative en theta
    749 !Config  Def  = false
    750 !Config  Help = forcage par tendance radiative en theta
    751        rad_theta ="0"
    752        CALL getin('rad_theta',rad_theta)
    753 
    754 !
    755 !Parametres de forcage
    756 !Config  Key  = rad_thetal
    757 !Config  Desc = forcage par tendance radiative en thetal
    758 !Config  Def  = false
    759 !Config  Help = forcage par tendance radiative en thetal
    760        rad_thetal ="0"
    761        CALL getin('rad_thetal',rad_thetal)
    762 
    763 !
    764 !Parametres de forcage
    765 !Config  Key  = adv_qv
    766 !Config  Desc = forcage ou non par advection de qv
    767 !Config  Def  = false
    768 !Config  Help = forcage ou non par advection de qv
    769        adv_qv =0
    770        CALL getin('adv_qv',adv_qv)
    771 
    772 !
    773 !Parametres de forcage
    774 !Config  Key  = adv_qt
    775 !Config  Desc = forcage ou non par advection de qt
    776 !Config  Def  = false
    777 !Config  Help = forcage ou non par advection de qt
    778        adv_qt =0
    779        CALL getin('adv_qt',adv_qt)
    780 
    781 !
    782 !Parametres de forcage
    783 !Config  Key  = adv_rv
    784 !Config  Desc = forcage ou non par advection de rv
    785 !Config  Def  = false
    786 !Config  Help = forcage ou non par advection de rv
    787        adv_rv =0
    788        CALL getin('adv_rv',adv_rv)
    789 
    790 !
    791 !Parametres de forcage
    792 !Config  Key  = adv_rt
    793 !Config  Desc = forcage ou non par advection de rt
    794 !Config  Def  = false
    795 !Config  Help = forcage ou non par advection de rt
    796        adv_rt =0
    797        CALL getin('adv_rt',adv_rt)
    798 
    799 !
    800 !Parametres de forcage
    801 !Config  Key  = nudging_temp
    802 !Config  Desc = forcage ou non par advection de tempe
    803 !Config  Def  = false
    804 !Config  Help = forcage ou non par advection de tempe
    805        nudging_temp =0
    806        CALL getin('nudging_temp',nudging_temp)
    807 
    808 !
    809 !Parametres de forcage
    810 !Config  Key  = nudging_theta
    811 !Config  Desc = forcage ou non par advection de theta
    812 !Config  Def  = false
    813 !Config  Help = forcage ou non par advection de theta
    814        nudging_theta =0
    815        CALL getin('nudging_theta',nudging_theta)
    816 
    817 !
    818 !Parametres de forcage
    819 !Config  Key  = nudging_thetal
    820 !Config  Desc = forcage ou non par advection de thetal
    821 !Config  Def  = false
    822 !Config  Help = forcage ou non par advection de thetal
    823        nudging_thetal =0
    824        CALL getin('nudging_thetal',nudging_thetal)
    825 
    826 !
    827 !Parametres de forcage
    828 !Config  Key  = nudging_qv
    829 !Config  Desc = forcage ou non par advection de qv
    830 !Config  Def  = false
    831 !Config  Help = forcage ou non par advection de qv
    832        nudging_qv =0
    833        CALL getin('nudging_qv',nudging_qv)
    834 
    835 !
    836 !Parametres de forcage
    837 !Config  Key  = nudging_qt
    838 !Config  Desc = forcage ou non par advection de qt
    839 !Config  Def  = false
    840 !Config  Help = forcage ou non par advection de qt
    841        nudging_qt =0
    842        CALL getin('nudging_qt',nudging_qt)
    843 
    844 !
    845 !Parametres de forcage
    846 !Config  Key  = nudging_rv
    847 !Config  Desc = forcage ou non par advection de rv
    848 !Config  Def  = false
    849 !Config  Help = forcage ou non par advection de rv
    850        nudging_rv =0
    851        CALL getin('nudging_rv',nudging_rv)
    852 
    853 !
    854 !Parametres de forcage
    855 !Config  Key  = nudging_rt
    856 !Config  Desc = forcage ou non par advection de rt
    857 !Config  Def  = false
    858 !Config  Help = forcage ou non par advection de rt
    859        nudging_rt =0
    860        CALL getin('nudging_rt',nudging_rt)
    861 
    862 !
    863 !Parametres de forcage
    864 !Config  Key  = nudging_u
    865 !Config  Desc = forcage ou non par advection de u wind
    866 !Config  Def  = false
    867 !Config  Help = forcage ou non par advection de u wind
    868        nudging_u =0
    869        CALL getin('nudging_u',nudging_u)
    870 
    871 !
    872 !Parametres de forcage
    873 !Config  Key  = nudging_v
    874 !Config  Desc = forcage ou non par advection de v wind
    875 !Config  Def  = false
    876 !Config  Help = forcage ou non par advection de v wind
    877        nudging_v =0
    878        CALL getin('nudging_v',nudging_v)
    879 
    880 !
    881 !Parametres de forcage
    882 !Config  Key  = p_nudging_temp
    883 !Config  Desc = Pressure (Pa) above which tempe should be nudged
    884 !Config  Def  = false
    885 !Config  Help = Pressure (Pa) above which tempe should be nudged
    886        p_nudging_temp =11000.
    887        CALL getin('p_nudging_tempe',p_nudging_temp)
    888 
    889 !
    890 !Parametres de forcage
    891 !Config  Key  = p_nudging_theta
    892 !Config  Desc = Pressure (Pa) above which theta should be nudged
    893 !Config  Def  = false
    894 !Config  Help = Pressure (Pa) above which theta should be nudged
    895        p_nudging_theta =11000.
    896        CALL getin('p_nudging_theta',p_nudging_theta)
    897 
    898 !
    899 !Parametres de forcage
    900 !Config  Key  = p_nudging_thetal
    901 !Config  Desc = Pressure (Pa) above which thetal should be nudged
    902 !Config  Def  = false
    903 !Config  Help = Pressure (Pa) above which thetal should be nudged
    904        p_nudging_thetal =11000.
    905        CALL getin('p_nudging_thetal',p_nudging_thetal)
    906 
    907 !
    908 !Parametres de forcage
    909 !Config  Key  = p_nudging_qv
    910 !Config  Desc = Pressure (Pa) above which qv should be nudged
    911 !Config  Def  = false
    912 !Config  Help = Pressure (Pa) above which qv should be nudged
    913        p_nudging_qv =11000.
    914        CALL getin('p_nudging_qv',p_nudging_qv)
    915 
    916 !
    917 !Parametres de forcage
    918 !Config  Key  = p_nudging_qt
    919 !Config  Desc = Pressure (Pa) above which qt should be nudged
    920 !Config  Def  = false
    921 !Config  Help = Pressure (Pa) above which qt should be nudged
    922        p_nudging_qt =11000.
    923        CALL getin('p_nudging_qt',p_nudging_qt)
    924 
    925 !
    926 !Parametres de forcage
    927 !Config  Key  = p_nudging_rv
    928 !Config  Desc = Pressure (Pa) above which rv should be nudged
    929 !Config  Def  = false
    930 !Config  Help = Pressure (Pa) above which rv should be nudged
    931        p_nudging_rv =11000.
    932        CALL getin('p_nudging_rv',p_nudging_rv)
    933 
    934 !
    935 !Parametres de forcage
    936 !Config  Key  = p_nudging_rt
    937 !Config  Desc = Pressure (Pa) above which rt should be nudged
    938 !Config  Def  = false
    939 !Config  Help = Pressure (Pa) above which rt should be nudged
    940        p_nudging_rt =11000.
    941        CALL getin('p_nudging_rt',p_nudging_rt)
    942 
    943 !
    944 !Parametres de forcage
    945 !Config  Key  = p_nudging_u
    946 !Config  Desc = Pressure (Pa) above which u should be nudged
    947 !Config  Def  = false
    948 !Config  Help = Pressure (Pa) above which u should be nudged
    949        p_nudging_u =11000.
    950        CALL getin('p_nudging_u',p_nudging_u)
    951 
    952 !
    953 !Parametres de forcage
    954 !Config  Key  = p_nudging_v
    955 !Config  Desc = Pressure (Pa) above which v should be nudged
    956 !Config  Def  = false
    957 !Config  Help = Pressure (Pa) above which v should be nudged
    958        p_nudging_v =11000.
    959        CALL getin('p_nudging_v',p_nudging_v)
    960 
    961 !
    962 !Parametres de forcage
    963 !Config  Key  = z_nudging_temp
    964 !Config  Desc = Height (m) above which tempe should be nudged
    965 !Config  Def  = false
    966 !Config  Help = Height (m) above which tempe should be nudged
    967        z_nudging_temp=0.
    968        CALL getin('z_nudging_tempe',z_nudging_temp)
    969 
    970 !
    971 !Parametres de forcage
    972 !Config  Key  = z_nudging_theta
    973 !Config  Desc = Height (m) above which theta should be nudged
    974 !Config  Def  = false
    975 !Config  Help = Height (m) above which theta should be nudged
    976        z_nudging_theta=0.
    977        CALL getin('z_nudging_theta',z_nudging_theta)
    978 
    979 !
    980 !Parametres de forcage
    981 !Config  Key  = z_nudging_thetal
    982 !Config  Desc = Height (m) above which thetal should be nudged
    983 !Config  Def  = false
    984 !Config  Help = Height (m) above which thetal should be nudged
    985        z_nudging_thetal=0.
    986        CALL getin('z_nudging_thetal',z_nudging_thetal)
    987 
    988 !
    989 !Parametres de forcage
    990 !Config  Key  = z_nudging_qv
    991 !Config  Desc = Height (m) above which qv should be nudged
    992 !Config  Def  = false
    993 !Config  Help = Height (m) above which qv should be nudged
    994        z_nudging_qv=0.
    995        CALL getin('z_nudging_qv',z_nudging_qv)
    996 
    997 !
    998 !Parametres de forcage
    999 !Config  Key  = z_nudging_qt
    1000 !Config  Desc = Height (m) above which qt should be nudged
    1001 !Config  Def  = false
    1002 !Config  Help = Height (m) above which qt should be nudged
    1003        z_nudging_qt=0.
    1004        CALL getin('z_nudging_qt',z_nudging_qt)
    1005 
    1006 !
    1007 !Parametres de forcage
    1008 !Config  Key  = z_nudging_rv
    1009 !Config  Desc = Height (m) above which rv should be nudged
    1010 !Config  Def  = false
    1011 !Config  Help = Height (m) above which rv should be nudged
    1012        z_nudging_rv=0.
    1013        CALL getin('z_nudging_rv',z_nudging_rv)
    1014 
    1015 !
    1016 !Parametres de forcage
    1017 !Config  Key  = z_nudging_rt
    1018 !Config  Desc = Height (m) above which rt should be nudged
    1019 !Config  Def  = false
    1020 !Config  Help = Height (m) above which rt should be nudged
    1021        z_nudging_rt=0.
    1022        CALL getin('z_nudging_rt',z_nudging_rt)
    1023 
    1024 !
    1025 !Parametres de forcage
    1026 !Config  Key  = z_nudging_u
    1027 !Config  Desc = Height (m) above which u should be nudged
    1028 !Config  Def  = false
    1029 !Config  Help = Height (m) above which u should be nudged
    1030        z_nudging_u=0.
    1031        CALL getin('z_nudging_u',z_nudging_u)
    1032 
    1033 !
    1034 !Parametres de forcage
    1035 !Config  Key  = z_nudging_v
    1036 !config  desc = height (m) above which v should be nudged
    1037 !config  def  = false
    1038 !config  help = height (m) above which v should be nudged
    1039        z_nudging_v=0.
    1040        call getin('z_nudging_v',z_nudging_v)
    1041 
    1042 !config  key  = ok_flux_surf
    1043 !config  desc = forcage ou non par les flux de surface
    1044 !config  def  = false
    1045 !config  help = forcage ou non par les flux de surface
    1046        ok_flux_surf =.false.
    1047        call getin('ok_flux_surf',ok_flux_surf)
    1048 
    1049 !config  key  = ok_prescr_ust
    1050 !config  desc = ustar impose ou non
    1051 !config  def  = false
    1052 !config  help = ustar impose ou non
    1053        ok_prescr_ust = .false.
    1054        call getin('ok_prescr_ust',ok_prescr_ust)
    1055 
    1056 !config  key  = ok_old_disvert
    1057 !config  desc = utilisation de l ancien programme disvert0 (dans 1dutils.h)
    1058 !config  def  = false
    1059 !config  help = utilisation de l ancien programme disvert0 (dans 1dutils.h)
    1060        ok_old_disvert = .false.
    1061        call getin('ok_old_disvert',ok_old_disvert)
    1062 
    1063 !config  key  = time_ini
    1064 !config  desc = meaningless in this  case
    1065 !config  def  = 0.
    1066 !config  help =
    1067        tsurf = 0.
    1068        call getin('time_ini',time_ini)
    1069 
    1070 !config  key  = rlat et rlon
    1071 !config  desc = latitude et longitude
    1072 !config  def  = 0.0  0.0
    1073 !config  help = fixe la position de la colonne
    1074        xlat = 0.
    1075        xlon = 0.
    1076        call getin('rlat',xlat)
    1077        call getin('rlon',xlon)
    1078 
    1079 !config  key  = airephy
    1080 !config  desc = grid cell area
    1081 !config  def  = 1.e11
    1082 !config  help =
    1083        airefi = 1.e11
    1084        call getin('airephy',airefi)
    1085 
    1086 !config  key  = nat_surf
    1087 !config  desc = surface type
    1088 !config  def  = 0 (ocean)
    1089 !config  help = 0=ocean,1=land,2=glacier,3=banquise
    1090        nat_surf = 0.
    1091        call getin('nat_surf',nat_surf)
    1092 
    1093 !config  key  = tsurf
    1094 !config  desc = surface temperature
    1095 !config  def  = 290.
    1096 !config  help = not used if type_ts_forcing=1 in lmdz1d.f
    1097        tsurf = 290.
    1098        call getin('tsurf',tsurf)
    1099 
    1100 !config  key  = psurf
    1101 !config  desc = surface pressure
    1102 !config  def  = 102400.
    1103 !config  help =
    1104        psurf = 102400.
    1105        call getin('psurf',psurf)
    1106 
    1107 !config  key  = zsurf
    1108 !config  desc = surface altitude
    1109 !config  def  = 0.
    1110 !config  help =
    1111        zsurf = 0.
    1112        call getin('zsurf',zsurf)
    1113 
    1114 !config  key  = rugos
    1115 !config  desc = coefficient de frottement
    1116 !config  def  = 0.0001
    1117 !config  help = calcul du cdrag
    1118        rugos = 0.0001
    1119        call getin('rugos',rugos)
    1120 ! fh/2020/04/08/confinement: pour le nouveau format standard, la rugosite s'appelle z0
    1121        call getin('z0',rugos)
    1122 
    1123 !config  key  = rugosh
    1124 !config  desc = coefficient de frottement
    1125 !config  def  = rugos
    1126 !config  help = calcul du cdrag
    1127        rugosh = rugos
    1128        call getin('rugosh',rugosh)
    1129 
    1130 !config  key  = snowmass
    1131 !config  desc = mass de neige de la surface en kg/m2
    1132 !config  def  = 0.0000
    1133 !config  help = snowmass
    1134        snowmass = 0.0000
    1135        call getin('snowmass',snowmass)
    1136 
    1137 !config  key  = wtsurf et wqsurf
    1138 !config  desc = ???
    1139 !config  def  = 0.0 0.0
    1140 !config  help =
    1141        wtsurf = 0.0
    1142        wqsurf = 0.0
    1143        call getin('wtsurf',wtsurf)
    1144        call getin('wqsurf',wqsurf)
    1145 
    1146 !config  key  = albedo
    1147 !config  desc = albedo
    1148 !config  def  = 0.09
    1149 !config  help =
    1150        albedo = 0.09
    1151        call getin('albedo',albedo)
    1152 
    1153 !config  key  = agesno
    1154 !config  desc = age de la neige
    1155 !config  def  = 30.0
    1156 !config  help =
    1157        xagesno = 30.0
    1158        call getin('agesno',xagesno)
    1159 
    1160 !config  key  = restart_runoff
    1161 !config  desc = age de la neige
    1162 !config  def  = 30.0
    1163 !config  help =
    1164        restart_runoff = 0.0
    1165        call getin('restart_runoff',restart_runoff)
    1166 
    1167 !config  key  = qsolinp
    1168 !config  desc = initial bucket water content (kg/m2) when land (5std)
    1169 !config  def  = 30.0
    1170 !config  help =
    1171        qsolinp = 1.
    1172        call getin('qsolinp',qsolinp)
    1173 
    1174 !config  key  = zpicinp
    1175 !config  desc = denivellation orographie
    1176 !config  def  = 0.
    1177 !config  help =  input brise
    1178        zpicinp = 0.
    1179        call getin('zpicinp',zpicinp)
    1180 
    1181 !config key = nudge_tsoil
    1182 !config  desc = activation of soil temperature nudging
    1183 !config  def  = .false.
    1184 !config  help = ...
    1185        nudge_tsoil=.false.
    1186        call getin('nudge_tsoil',nudge_tsoil)
    1187 
    1188 !config key = isoil_nudge
    1189 !config  desc = level number where soil temperature is nudged
    1190 !config  def  = 3
    1191 !config  help = ...
    1192        isoil_nudge=3
    1193        call getin('isoil_nudge',isoil_nudge)
    1194 
    1195 !config key = tsoil_nudge
    1196 !config  desc = target temperature for tsoil(isoil_nudge)
    1197 !config  def  = 300.
    1198 !config  help = ...
    1199        tsoil_nudge=300.
    1200        call getin('tsoil_nudge',tsoil_nudge)
    1201 
    1202 !config key = tau_soil_nudge
    1203 !config  desc = nudging relaxation time for tsoil
    1204 !config  def  = 3600.
    1205 !config  help = ...
    1206        tau_soil_nudge=3600.
    1207        call getin('tau_soil_nudge',tau_soil_nudge)
    1208 
    1209 !config  key  = forc_omega
    1210 !config  desc = forcage ou non par omega
    1211 !config  def  = false
    1212 !config  help = forcage ou non par omega
    1213        forc_omega =0
    1214        call getin('forc_omega',forc_omega)
    1215 
    1216 !config  key  = forc_w
    1217 !config  desc = forcage ou non par w
    1218 !config  def  = false
    1219 !config  help = forcage ou non par w
    1220        forc_w =0
    1221        call getin('forc_w',forc_w)
    1222 
    1223 !config  key  = forc_geo
    1224 !config  desc = forcage ou non par geo
    1225 !config  def  = false
    1226 !config  help = forcage ou non par geo
    1227        forc_geo =0
    1228        call getin('forc_geo',forc_geo)
    1229 
    1230 ! meme chose que ok_precr_ust
    1231 !config  key  = forc_ustar
    1232 !config  desc = forcage ou non par ustar
    1233 !config  def  = false
    1234 !config  help = forcage ou non par ustar
    1235        forc_ustar =0
    1236        call getin('forc_ustar',forc_ustar)
    1237        if (forc_ustar .eq. 1) ok_prescr_ust=.true.
    1238 
    1239 
    1240       write(lunout,*)' +++++++++++++++++++++++++++++++++++++++'
    1241       write(lunout,*)' configuration des parametres du gcm1d: '
    1242       write(lunout,*)' +++++++++++++++++++++++++++++++++++++++'
    1243       write(lunout,*)' restart = ', restart
    1244       write(lunout,*)' forcing_type = ', forcing_type
    1245       write(lunout,*)' time_ini = ', time_ini
    1246       write(lunout,*)' rlat = ', xlat
    1247       write(lunout,*)' rlon = ', xlon
    1248       write(lunout,*)' airephy = ', airefi
    1249       write(lunout,*)' nat_surf = ', nat_surf
    1250       write(lunout,*)' tsurf = ', tsurf
    1251       write(lunout,*)' psurf = ', psurf
    1252       write(lunout,*)' zsurf = ', zsurf
    1253       write(lunout,*)' rugos = ', rugos
    1254       write(lunout,*)' snowmass=', snowmass
    1255       write(lunout,*)' wtsurf = ', wtsurf
    1256       write(lunout,*)' wqsurf = ', wqsurf
    1257       write(lunout,*)' albedo = ', albedo
    1258       write(lunout,*)' xagesno = ', xagesno
    1259       write(lunout,*)' restart_runoff = ', restart_runoff
    1260       write(lunout,*)' qsolinp = ', qsolinp
    1261       write(lunout,*)' zpicinp = ', zpicinp
    1262       write(lunout,*)' nudge_tsoil = ', nudge_tsoil
    1263       write(lunout,*)' isoil_nudge = ', isoil_nudge
    1264       write(lunout,*)' tsoil_nudge = ', tsoil_nudge
    1265       write(lunout,*)' tau_soil_nudge = ', tau_soil_nudge
    1266       write(lunout,*)' adv_temp =      ', adv_temp
    1267       write(lunout,*)' adv_theta =      ', adv_theta
    1268       write(lunout,*)' adv_thetal =      ', adv_thetal
    1269       write(lunout,*)' rad_temp =      ', rad_temp
    1270       write(lunout,*)' rad_theta =      ', rad_theta
    1271       write(lunout,*)' rad_thetal =      ', rad_thetal
    1272       write(lunout,*)' adv_qv =      ', adv_qv
    1273       write(lunout,*)' adv_qt =      ', adv_qt
    1274       write(lunout,*)' adv_rv =      ', adv_rv
    1275       write(lunout,*)' adv_rt =      ', adv_rt
    1276       write(lunout,*)' nudging_temp =      ', nudging_temp
    1277       write(lunout,*)' nudging_theta =      ', nudging_theta
    1278       write(lunout,*)' nudging_thetal =      ', nudging_thetal
    1279       write(lunout,*)' nudging_qv =      ', nudging_qv
    1280       write(lunout,*)' nudging_qt =      ', nudging_qt
    1281       write(lunout,*)' nudging_rv =      ', nudging_rv
    1282       write(lunout,*)' nudging_rt =      ', nudging_rt
    1283       write(lunout,*)' p_nudging_temp =      ', p_nudging_temp
    1284       write(lunout,*)' p_nudging_theta =      ', p_nudging_theta
    1285       write(lunout,*)' p_nudging_thetal =      ', p_nudging_thetal
    1286       write(lunout,*)' p_nudging_qv =      ', p_nudging_qv
    1287       write(lunout,*)' p_nudging_qt =      ', p_nudging_qt
    1288       write(lunout,*)' p_nudging_rv =      ', p_nudging_rv
    1289       write(lunout,*)' p_nudging_rt =      ', p_nudging_rt
    1290       write(lunout,*)' z_nudging_temp =      ', z_nudging_temp
    1291       write(lunout,*)' z_nudging_theta =      ', z_nudging_theta
    1292       write(lunout,*)' z_nudging_thetal =      ', z_nudging_thetal
    1293       write(lunout,*)' z_nudging_qv =      ', z_nudging_qv
    1294       write(lunout,*)' z_nudging_qt =      ', z_nudging_qt
    1295       write(lunout,*)' z_nudging_rv =      ', z_nudging_rv
    1296       write(lunout,*)' z_nudging_rt =      ', z_nudging_rt
    1297       write(lunout,*)' forc_omega = ', forc_omega
    1298       write(lunout,*)' forc_w     = ', forc_w
    1299       write(lunout,*)' forc_geo   = ', forc_geo
    1300       write(lunout,*)' forc_ustar = ', forc_ustar
    1301       IF (forcing_type .eq.40) THEN
    1302         write(lunout,*) '--- Forcing type GCSS Old --- with:'
    1303         write(lunout,*)'imp_fcg',imp_fcg_gcssold
    1304         write(lunout,*)'ts_fcg',ts_fcg_gcssold
    1305         write(lunout,*)'tp_fcg',Tp_fcg_gcssold
    1306         write(lunout,*)'tp_ini',Tp_ini_gcssold
    1307         write(lunout,*)'xturb_fcg',xTurb_fcg_gcssold
    1308       ENDIF
    1309 
    1310       write(lunout,*)' +++++++++++++++++++++++++++++++++++++++'
    1311       write(lunout,*)
    1312 !
    1313       RETURN
    1314       END
    1315629!
    1316630! $Id: dyn1deta0.F 1279 2010/07/30 A Lahellec$
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_decl_cases.h

    r3680 r3686  
    3434        real w_mod(llm), t_mod(llm),q_mod(llm)
    3535        real u_mod(llm),v_mod(llm), ht_mod(llm),vt_mod(llm),ug_mod(llm),vg_mod(llm)
    36         real temp_nudg_mod(llm),qv_nudg_mod(llm),u_nudg_mod(llm),v_nudg_mod(llm)
     36        real temp_nudg_mod(llm),qv_nudg_mod(llm),u_nudg_mod(llm),v_nudg_mod(llm)
    3737        real hq_mod(llm),vq_mod(llm),qv_mod(llm),ql_mod(llm),qt_mod(llm)
    3838        real th_mod(llm)
     
    280280!Declarations specifiques au cas standard
    281281
    282         real plev_mod_cas(llm)
    283         real t_mod_cas(llm),theta_mod_cas(llm),thl_mod_cas(llm),thv_mod_cas(llm)
    284         real qt_mod_cas(llm),qv_mod_cas(llm),ql_mod_cas(llm),qi_mod_cas(llm),q_mod_cas(llm)
    285         real rt_mod_cas(llm),rv_mod_cas(llm),rl_mod_cas(llm),ri_mod_cas(llm),rh_mod_cas(llm)
     282        real w_mod_cas(llm), t_mod_cas(llm),q_mod_cas(llm)
     283        real theta_mod_cas(llm),thl_mod_cas(llm),thv_mod_cas(llm)
     284        real qv_mod_cas(llm),ql_mod_cas(llm),qi_mod_cas(llm)
    286285        real ug_mod_cas(llm),vg_mod_cas(llm)
    287         real temp_nudg_mod_cas(llm),th_nudg_mod_cas(llm),thl_nudg_mod_cas(llm)
    288         real qt_nudg_mod_cas(llm),qv_nudg_mod_cas(llm),rt_nudg_mod_cas(llm),rv_nudg_mod_cas(llm)
    289         real u_nudg_mod_cas(llm),v_nudg_mod_cas(llm)
    290         real uadv_mod_cas(llm),vadv_mod_cas(llm)
    291         real qtadv_mod_cas(llm),qvadv_mod_cas(llm)
    292         real rtadv_mod_cas(llm),rvadv_mod_cas(llm)
    293         real tadv_mod_cas(llm),thadv_mod_cas(llm),thladv_mod_cas(llm)
    294         real trad_mod_cas(llm),thrad_mod_cas(llm),thlrad_mod_cas(llm)
    295         real u_mod_cas(llm),v_mod_cas(llm),w_mod_cas(llm)
     286        real temp_nudg_mod_cas(llm),qv_nudg_mod_cas(llm),v_nudg_mod_cas(llm),u_nudg_mod_cas(llm)
     287        real u_mod_cas(llm),v_mod_cas(llm)
    296288        real omega_mod_cas(llm)
    297289        real ht_mod_cas(llm),vt_mod_cas(llm),dt_mod_cas(llm),dtrad_mod_cas(llm)
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_interp_cases.h

    r3682 r3686  
    77
    88! time interpolation:
    9         CALL interp_case_time_std(day,day1,annee_ref                                 &
    10      &         ,nt_cas,nlev_cas                                                      &
    11      &         ,ts_cas,ps_cas,ps_forc_cas,plev_cas,ppforc_cas,t_cas,theta_cas,thl_cas&
    12      &         ,qt0_cas,qv0_cas,ql0_cas,qi0_cas                                      &
    13      &         ,rt0_cas,rv0_cas,rl0_cas,ri0_cas,rh0_cas                              &
    14      &         ,u_cas,v_cas,w_cas,omega_cas,ug_cas,vg_cas                            &
    15      &         ,temp_nudg_cas,th_nudg_cas,thl_nudg_cas,qt_nudg_cas,qv_nudg_cas       &
    16      &         ,rt_nudg_cas,rv_nudg_cas,u_nudg_cas,v_nudg_cas                        &
    17      &         ,uadv_cas,vadv_cas,tadv_cas,thadv_cas,thladv_cas                      &
    18      &         ,qtadv_cas,qvadv_cas,rtadv_cas,rvadv_cas                              &
    19      &         ,trad_cas,thrad_cas,thlrad_cas                                        &
    20      &         ,tke_cas,lat_cas,sens_cas,ustar_cas                                   &
    21      &         ,wpthetap_cas,wpqtp_cas,wpqvp_cas,wprtp_cas,wprvp_cas                 &
     9        CALL interp_case_time_std(daytime,day1,annee_ref                                       &
     10!    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
     11     &       ,nt_cas,nlev_cas                                                               &
     12     &       ,ts_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
     13     &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
     14     &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
     15     &       ,vitw_cas,omega_cas,du_cas,hu_cas,vu_cas                                       &
     16     &       ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
     17     &       ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
     18     &       ,uw_cas,vw_cas,q1_cas,q2_cas,tke_cas                                           &
    2219!
    23      &         ,ts_prof_cas,ps_prof_cas,ps_forc_prof_cas,plev_prof_cas,pforc_prof_cas&
    24      &         ,t_prof_cas,th_prof_cas,thl_prof_cas                               &
    25      &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                      &
    26      &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas          &
    27      &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                      &
    28      &         ,ug_prof_cas,vg_prof_cas                                              &
    29      &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                &
    30      &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                    &
    31      &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas    &
    32      &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas&
    33      &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas          &
    34      &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                         &
    35      &         ,tke_prof_cas,lat_prof_cas,sens_prof_cas,ustar_prof_cas               &
    36      &         ,wpthetap_prof_cas,wpqtp_prof_cas,wpqvp_prof_cas,wprtp_prof_cas,wprvp_prof_cas)
     20     &       ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
     21     &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
     22     &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
     23     &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
     24     &       ,vitw_prof_cas,omega_prof_cas                                                  &
     25     &       ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
     26     &       ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
     27     &       ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
     28     &       ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
     29     &       ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tke_prof_cas)
    3730
    3831             ts_cur = ts_prof_cas
     
    4134
    4235! vertical interpolation:
    43        CALL interp_case_vertical_std(nlev_cas                                                          &
    44      &         ,plev_prof_cas,t_prof_cas,th_prof_cas,thl_prof_cas                                   &
    45      &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                                        &
    46      &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas                            &
    47      &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                                        &
    48      &         ,ug_prof_cas,vg_prof_cas                                                                &
    49      &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                                  &
    50      &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                                      &
    51      &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                      &
    52      &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas               &
    53      &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas                            &
    54      &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                                           &
     36      CALL interp2_case_vertical_std(play,nlev_cas,plev_prof_cas                                              &
     37     &         ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                       &
     38     &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
     39     &         ,ug_prof_cas,vg_prof_cas                                                                   &
     40     &         ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                       &
     41     &         ,vitw_prof_cas,omega_prof_cas                                      &
     42     &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
     43     &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
     44     &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
    5545!
    56      &         ,plev_mod_cas,t_mod_cas,theta_mod_cas,thl_mod_cas                                       &
    57      &         ,qt_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas                                            &
    58      &         ,rt_mod_cas,rv_mod_cas,rl_mod_cas,ri_mod_cas,rh_mod_cas                                 &
    59      &         ,u_mod_cas,v_mod_cas,w_mod_cas,omega_mod_cas                                            &
    60      &         ,ug_mod_cas,vg_mod_cas                                                                  &
    61      &         ,temp_nudg_mod_cas,th_nudg_mod_cas,thl_nudg_mod_cas                                     &
    62      &         ,qt_nudg_mod_cas,qv_nudg_mod_cas                                                        &
    63      &         ,rt_nudg_mod_cas,rv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                          &
    64      &         ,uadv_mod_cas,vadv_mod_cas,tadv_mod_cas,thadv_mod_cas,thladv_mod_cas                    &
    65      &         ,qtadv_mod_cas,qvadv_mod_cas,rtadv_mod_cas,rvadv_mod_cas                                &
    66      &         ,trad_mod_cas,thrad_mod_cas,thlrad_mod_cas)
     46     &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
     47     &         ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
     48     &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
     49     &         ,w_mod_cas,omega_mod_cas                                                                   &
     50     &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
     51     &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
     52     &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
    6753
    6854
     
    9379      else
    9480         DO l=2,llm-1
    95             IF (omega(l)>0.) THEN
     81            IF (omega(l)>0.) THEN
    9682             d_t_z(l)=(temp(l+1)-temp(l))/(play(l+1)-play(l))
    9783             d_th_z(l)=(teta(l+1)-teta(l))/(play(l+1)-play(l))
     
    9985             d_u_z(l)=(u(l+1)-u(l))/(play(l+1)-play(l))
    10086             d_v_z(l)=(v(l+1)-v(l))/(play(l+1)-play(l))
    101             ELSE
     87            ELSE
    10288             d_t_z(l)=(temp(l-1)-temp(l))/(play(l-1)-play(l))
    10389             d_th_z(l)=(teta(l-1)-teta(l))/(play(l-1)-play(l))
     
    10591             d_u_z(l)=(u(l-1)-u(l))/(play(l-1)-play(l))
    10692             d_v_z(l)=(v(l-1)-v(l))/(play(l-1)-play(l))
    107             ENDIF
    108         ENDDO
     93            ENDIF
     94        ENDDO
    10995      endif
    11096      d_t_z(1)=d_t_z(2)
     
    171157!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    172158         
    173         if (rad_temp=="1") then
     159        if (trad.eq.1) then
    174160           tend_rayo=1
    175161           dt_cooling(l) = dtrad_mod_cas(l)
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_read_forc_cases.h

    r3680 r3686  
    1717         call read_SCM_cas
    1818         write(*,*) 'Forcing read'
    19         print*,'PS ps_cas',ps_cas
     19        print*,'PS ps_cas',ps_cas
    2020
    2121!Time interpolation for initial conditions using interpolation routine
    2222         write(*,*) 'AVT 1ere INTERPOLATION: day,day1 = ',daytime,day1   
    23         CALL interp_case_time_std(day,day1,annee_ref                                 &
    24      &         ,nt_cas,nlev_cas                                                      &
    25      &         ,ts_cas,ps_cas,ps_forc_cas,plev_cas,ppforc_cas,t_cas,theta_cas,thl_cas&
    26      &         ,qt0_cas,qv0_cas,ql0_cas,qi0_cas                                      &
    27      &         ,rt0_cas,rv0_cas,rl0_cas,ri0_cas,rh0_cas                              &
    28      &         ,u_cas,v_cas,w_cas,omega_cas,ug_cas,vg_cas                            &
    29      &         ,temp_nudg_cas,th_nudg_cas,thl_nudg_cas,qt_nudg_cas,qv_nudg_cas       &
    30      &         ,rt_nudg_cas,rv_nudg_cas,u_nudg_cas,v_nudg_cas                        &
    31      &         ,uadv_cas,vadv_cas,tadv_cas,thadv_cas,thladv_cas                      &
    32      &         ,qtadv_cas,qvadv_cas,rtadv_cas,rvadv_cas                              &
    33      &         ,trad_cas,thrad_cas,thlrad_cas                                        &
    34      &         ,tke_cas,lat_cas,sens_cas,ustar_cas                                   &
    35      &         ,wpthetap_cas,wpqtp_cas,wpqvp_cas,wprtp_cas,wprvp_cas                 &
     23        CALL interp_case_time_std(daytime,day1,annee_ref                                       &
     24!    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
     25     &       ,nt_cas,nlev_cas                                                               &
     26     &       ,ts_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
     27     &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
     28     &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
     29     &       ,vitw_cas,omega_cas,du_cas,hu_cas,vu_cas                                       &
     30     &       ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
     31     &       ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
     32     &       ,uw_cas,vw_cas,q1_cas,q2_cas,tke_cas                                           &
    3633!
    37      &         ,ts_prof_cas,ps_prof_cas,ps_forc_prof_cas,plev_prof_cas,pforc_prof_cas&
    38      &         ,t_prof_cas,th_prof_cas,thl_prof_cas                               &
    39      &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                      &
    40      &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas          &
    41      &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                      &
    42      &         ,ug_prof_cas,vg_prof_cas                                              &
    43      &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                &
    44      &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                    &
    45      &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas    &
    46      &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas&
    47      &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas          &
    48      &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                         &
    49      &         ,tke_prof_cas,lat_prof_cas,sens_prof_cas,ustar_prof_cas               &
    50      &         ,wpthetap_prof_cas,wpqtp_prof_cas,wpqvp_prof_cas,wprtp_prof_cas,wprvp_prof_cas)
     34     &       ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
     35     &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
     36     &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
     37     &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
     38     &       ,vitw_prof_cas,omega_prof_cas                                                  &
     39     &       ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
     40     &       ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
     41     &       ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
     42     &       ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
     43     &       ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tke_prof_cas)
    5144
    5245      do l = 1, nlev_cas
     
    5649! vertical interpolation using interpolation routine:
    5750!      write(*,*)'avant interp vert', t_prof
    58        CALL interp_case_vertical_std(nlev_cas                                                          &
    59      &         ,plev_prof_cas,t_prof_cas,th_prof_cas,thl_prof_cas                                   &
    60      &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                                        &
    61      &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas                            &
    62      &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                                        &
    63      &         ,ug_prof_cas,vg_prof_cas                                                                &
    64      &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                                  &
    65      &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                                      &
    66      &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                      &
    67      &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas               &
    68      &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas                            &
    69      &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                                           &
     51      CALL interp2_case_vertical_std(play,nlev_cas,plev_prof_cas                                              &
     52     &         ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                          &
     53     &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
     54     &         ,ug_prof_cas,vg_prof_cas                                                                   &
     55     &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                         &
     56
     57     &         ,vitw_prof_cas,omega_prof_cas                                                              &
     58     &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
     59     &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
     60     &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
    7061!
    71      &         ,plev_mod_cas,t_mod_cas,theta_mod_cas,thl_mod_cas                                       &
    72      &         ,qt_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas                                            &
    73      &         ,rt_mod_cas,rv_mod_cas,rl_mod_cas,ri_mod_cas,rh_mod_cas                                 &
    74      &         ,u_mod_cas,v_mod_cas,w_mod_cas,omega_mod_cas                                            &
    75      &         ,ug_mod_cas,vg_mod_cas                                                                  &
    76      &         ,temp_nudg_mod_cas,th_nudg_mod_cas,thl_nudg_mod_cas                                     &
    77      &         ,qt_nudg_mod_cas,qv_nudg_mod_cas                                                        &
    78      &         ,rt_nudg_mod_cas,rv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                          &
    79      &         ,uadv_mod_cas,vadv_mod_cas,tadv_mod_cas,thadv_mod_cas,thladv_mod_cas                    &
    80      &         ,qtadv_mod_cas,qvadv_mod_cas,rtadv_mod_cas,rvadv_mod_cas                                &
    81      &         ,trad_mod_cas,thrad_mod_cas,thlrad_mod_cas)
     62     &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
     63     &         ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
     64     &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
     65     &         ,w_mod_cas,omega_mod_cas                                                                   &
     66     &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
     67     &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
     68     &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
    8269
    8370
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read_std.F90

    r3683 r3686  
    99! Discr?tisation
    1010        integer nlev_cas, nt_cas
    11         real zzs_cas,pp_cas
    1211
    1312
    1413!profils environnementaux
    15         real, allocatable::  ppforc_cas(:,:),plev_cas(:,:)
    16 
    17 !profils initiaux
    18         real, allocatable::  zzforc_cas(:,:)
    19         real, allocatable::  qt0_cas(:),qv0_cas(:),ql0_cas(:),qi0_cas(:),tke_cas(:)
    20         real, allocatable::  rt0_cas(:),rv0_cas(:),rl0_cas(:),ri0_cas(:),rh0_cas(:)
    21         real, allocatable::  temp0_cas(:),theta0_cas(:), thetal0_cas(:)
    22         real, allocatable::  u0_cas(:),v0_cas(:),w_cas(:,:),omega_cas(:,:),ug_cas(:,:), vg_cas(:,:)
    23         real, allocatable::  t_cas(:),theta_cas(:), thl_cas(:),u_cas(:),v_cas(:)
    24 !advections et nudging     
    25         real, allocatable::  uadv_cas(:,:),vadv_cas(:,:)
    26         real, allocatable::  tadv_cas(:,:),thadv_cas(:,:),thladv_cas(:,:)
    27         real, allocatable::  qtadv_cas(:,:),qvadv_cas(:,:)
    28         real, allocatable::  rtadv_cas(:,:),rvadv_cas(:,:)
    29         real, allocatable::  trad_cas(:,:),thrad_cas(:,:),thlrad_cas(:,:)
    30         real, allocatable::  temp_nudg_cas(:,:),th_nudg_cas(:,:),thl_nudg_cas(:,:)
    31         real, allocatable::  qv_nudg_cas(:,:),qt_nudg_cas(:,:)
    32         real, allocatable::  rv_nudg_cas(:,:),rt_nudg_cas(:,:)
    33         real, allocatable::  u_nudg_cas(:,:),v_nudg_cas(:,:)
    34 ! flux     
    35         real, allocatable::  lat_cas(:),sens_cas(:),ustar_cas(:)
    36         real, allocatable::  ts_cas(:),ps_cas(:),ps_forc_cas(:)
    37         real, allocatable::  wpthetap_cas(:),wpqvp_cas(:),wpqtp_cas(:),wprvp_cas(:),wprtp_cas(:)
     14        real, allocatable::  plev_cas(:,:),plevh_cas(:)
     15        real, allocatable::  ap_cas(:),bp_cas(:)
     16
     17        real, allocatable::  z_cas(:,:),zh_cas(:)
     18        real, allocatable::  t_cas(:,:),q_cas(:,:),qv_cas(:,:),ql_cas(:,:),qi_cas(:,:),rh_cas(:,:)
     19        real, allocatable::  th_cas(:,:),thv_cas(:,:),thl_cas(:,:),rv_cas(:,:)
     20        real, allocatable::  u_cas(:,:),v_cas(:,:),vitw_cas(:,:),omega_cas(:,:)
     21
     22!forcing
     23        real, allocatable::  ht_cas(:,:),vt_cas(:,:),dt_cas(:,:),dtrad_cas(:,:)
     24        real, allocatable::  hth_cas(:,:),vth_cas(:,:),dth_cas(:,:)
     25        real, allocatable::  hq_cas(:,:),vq_cas(:,:),dq_cas(:,:)
     26        real, allocatable::  hr_cas(:,:),vr_cas(:,:),dr_cas(:,:)
     27        real, allocatable::  hu_cas(:,:),vu_cas(:,:),du_cas(:,:)
     28        real, allocatable::  hv_cas(:,:),vv_cas(:,:),dv_cas(:,:)
     29        real, allocatable::  ug_cas(:,:),vg_cas(:,:)
     30        real, allocatable::  temp_nudg_cas(:,:),qv_nudg_cas(:,:),u_nudg_cas(:,:),v_nudg_cas(:,:)
     31        real, allocatable::  lat_cas(:),sens_cas(:),ts_cas(:),ps_cas(:),ustar_cas(:)
     32        real, allocatable::  uw_cas(:,:),vw_cas(:,:),q1_cas(:,:),q2_cas(:,:),tke_cas(:)
    3833
    3934!champs interpoles
    4035        real, allocatable::  plev_prof_cas(:)
    41         real, allocatable::  plev_forc_prof_cas(:)
    42         real, allocatable::  pforc_prof_cas(:)
    43         real, allocatable::  t_prof_cas(:),th_prof_cas(:),thl_prof_cas(:)
    44         real, allocatable::  qt_prof_cas(:),qv_prof_cas(:),ql_prof_cas(:),qi_prof_cas(:)
     36        real, allocatable::  t_prof_cas(:)
     37        real, allocatable::  theta_prof_cas(:)
     38        real, allocatable::  thl_prof_cas(:)
     39        real, allocatable::  thv_prof_cas(:)
     40        real, allocatable::  q_prof_cas(:)
     41        real, allocatable::  qv_prof_cas(:)
     42        real, allocatable::  ql_prof_cas(:)
     43        real, allocatable::  qi_prof_cas(:)
    4544        real, allocatable::  rh_prof_cas(:)
    46         real, allocatable::  rt_prof_cas(:),rv_prof_cas(:),rl_prof_cas(:),ri_prof_cas(:)
    47         real, allocatable::  u_prof_cas(:),v_prof_cas(:),w_prof_cas(:),omega_prof_cas(:)
    48         real, allocatable::  ug_prof_cas(:),vg_prof_cas(:)
    49         real, allocatable::  uadv_prof_cas(:),vadv_prof_cas(:),tadv_prof_cas(:),thadv_prof_cas(:),thladv_prof_cas(:)
    50         real, allocatable::  qtadv_prof_cas(:),qvadv_prof_cas(:),rtadv_prof_cas(:),rvadv_prof_cas(:)
    51         real, allocatable::  temp_nudg_prof_cas(:), th_nudg_prof_cas(:), thl_nudg_prof_cas(:)
    52         real, allocatable::  qv_nudg_prof_cas(:), qt_nudg_prof_cas(:), rv_nudg_prof_cas(:), rt_nudg_prof_cas(:)
    53         real, allocatable::  u_nudg_prof_cas(:),v_nudg_prof_cas(:)
    54         real, allocatable::  trad_prof_cas(:),thrad_prof_cas(:),thlrad_prof_cas(:)
    55 
    56         real lat_prof_cas,sens_prof_cas,ts_prof_cas,ps_prof_cas,ps_forc_prof_cas,ustar_prof_cas,tke_prof_cas
    57         real wpqtp_prof_cas,wpqvp_prof_cas,wprtp_prof_cas,wprvp_prof_cas,wpthetap_prof_cas
    58 !       real o3_cas,orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough,rugos_cas,sand_cas,clay_cas
     45        real, allocatable::  rv_prof_cas(:)
     46        real, allocatable::  u_prof_cas(:)
     47        real, allocatable::  v_prof_cas(:)       
     48        real, allocatable::  vitw_prof_cas(:)
     49        real, allocatable::  omega_prof_cas(:)
     50        real, allocatable::  ug_prof_cas(:)
     51        real, allocatable::  vg_prof_cas(:)
     52        real, allocatable::  temp_nudg_prof_cas(:),qv_nudg_prof_cas(:),u_nudg_prof_cas(:),v_nudg_prof_cas(:)
     53        real, allocatable::  ht_prof_cas(:)
     54        real, allocatable::  hth_prof_cas(:)
     55        real, allocatable::  hq_prof_cas(:)
     56        real, allocatable::  vt_prof_cas(:)
     57        real, allocatable::  vth_prof_cas(:)
     58        real, allocatable::  vq_prof_cas(:)
     59        real, allocatable::  dt_prof_cas(:)
     60        real, allocatable::  dth_prof_cas(:)
     61        real, allocatable::  dtrad_prof_cas(:)
     62        real, allocatable::  dq_prof_cas(:)
     63        real, allocatable::  hu_prof_cas(:)
     64        real, allocatable::  hv_prof_cas(:)
     65        real, allocatable::  vu_prof_cas(:)
     66        real, allocatable::  vv_prof_cas(:)
     67        real, allocatable::  du_prof_cas(:)
     68        real, allocatable::  dv_prof_cas(:)
     69        real, allocatable::  uw_prof_cas(:)
     70        real, allocatable::  vw_prof_cas(:)
     71        real, allocatable::  q1_prof_cas(:)
     72        real, allocatable::  q2_prof_cas(:)
     73
     74
     75        real lat_prof_cas,sens_prof_cas,ts_prof_cas,ps_prof_cas,ustar_prof_cas,tke_prof_cas
     76        real o3_cas,orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough,rugos_cas,sand_cas,clay_cas
    5977     
    6078
     
    140158   ENDIF
    141159
     160
    142161!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    143         allocate(zzforc_cas(nlev_cas,nt_cas))
    144         allocate(ppforc_cas(nlev_cas,nt_cas))
    145 !profils initiaux
    146         allocate(temp0_cas(nlev_cas),theta0_cas(nlev_cas),thetal0_cas(nlev_cas),tke_cas(nlev_cas))
    147         allocate(qt0_cas(nlev_cas),qv0_cas(nlev_cas),ql0_cas(nlev_cas),qi0_cas(nlev_cas),u0_cas(nlev_cas),v0_cas(nlev_cas))
    148         allocate(rt0_cas(nlev_cas),rv0_cas(nlev_cas),rl0_cas(nlev_cas),ri0_cas(nlev_cas),rh0_cas(nlev_cas))
    149         allocate(t_cas(nlev_cas),theta_cas(nlev_cas),thl_cas(nlev_cas),u_cas(nlev_cas),v_cas(nlev_cas))
    150         allocate(w_cas(nlev_cas,nt_cas),omega_cas(nlev_cas,nt_cas))
     162!profils moyens:
     163        allocate(plev_cas(nlev_cas,nt_cas),plevh_cas(nlev_cas+1))       
     164        allocate(z_cas(nlev_cas,nt_cas),zh_cas(nlev_cas+1))
     165        allocate(ap_cas(nlev_cas+1),bp_cas(nt_cas+1))
     166        allocate(t_cas(nlev_cas,nt_cas),q_cas(nlev_cas,nt_cas),qv_cas(nlev_cas,nt_cas),ql_cas(nlev_cas,nt_cas), &
     167             qi_cas(nlev_cas,nt_cas),rh_cas(nlev_cas,nt_cas))
     168        allocate(th_cas(nlev_cas,nt_cas),thl_cas(nlev_cas,nt_cas),thv_cas(nlev_cas,nt_cas),rv_cas(nlev_cas,nt_cas))
     169        allocate(u_cas(nlev_cas,nt_cas),v_cas(nlev_cas,nt_cas),vitw_cas(nlev_cas,nt_cas),omega_cas(nlev_cas,nt_cas))
     170
     171!forcing
     172        allocate(ht_cas(nlev_cas,nt_cas),vt_cas(nlev_cas,nt_cas),dt_cas(nlev_cas,nt_cas),dtrad_cas(nlev_cas,nt_cas))
     173        allocate(hq_cas(nlev_cas,nt_cas),vq_cas(nlev_cas,nt_cas),dq_cas(nlev_cas,nt_cas))
     174        allocate(hth_cas(nlev_cas,nt_cas),vth_cas(nlev_cas,nt_cas),dth_cas(nlev_cas,nt_cas))
     175        allocate(hr_cas(nlev_cas,nt_cas),vr_cas(nlev_cas,nt_cas),dr_cas(nlev_cas,nt_cas))
     176        allocate(hu_cas(nlev_cas,nt_cas),vu_cas(nlev_cas,nt_cas),du_cas(nlev_cas,nt_cas))
     177        allocate(hv_cas(nlev_cas,nt_cas),vv_cas(nlev_cas,nt_cas),dv_cas(nlev_cas,nt_cas))
    151178        allocate(ug_cas(nlev_cas,nt_cas),vg_cas(nlev_cas,nt_cas))
    152 !advections et nudging     
    153         allocate(uadv_cas(nlev_cas,nt_cas),vadv_cas(nlev_cas,nt_cas))
    154         allocate(tadv_cas(nlev_cas,nt_cas),thadv_cas(nlev_cas,nt_cas),thladv_cas(nlev_cas,nt_cas))
    155         allocate(qtadv_cas(nlev_cas,nt_cas),qvadv_cas(nlev_cas,nt_cas))
    156         allocate(rtadv_cas(nlev_cas,nt_cas),rvadv_cas(nlev_cas,nt_cas))
    157         allocate(trad_cas(nlev_cas,nt_cas),thrad_cas(nlev_cas,nt_cas),thlrad_cas(nlev_cas,nt_cas))
    158         allocate(temp_nudg_cas(nlev_cas,nt_cas),th_nudg_cas(nlev_cas,nt_cas),thl_nudg_cas(nlev_cas,nt_cas))
    159         allocate(qv_nudg_cas(nlev_cas,nt_cas),qt_nudg_cas(nlev_cas,nt_cas))
    160         allocate(rv_nudg_cas(nlev_cas,nt_cas),rt_nudg_cas(nlev_cas,nt_cas))
     179        allocate(temp_nudg_cas(nlev_cas,nt_cas),qv_nudg_cas(nlev_cas,nt_cas))
    161180        allocate(u_nudg_cas(nlev_cas,nt_cas),v_nudg_cas(nlev_cas,nt_cas))
    162 ! flux     
    163         allocate(lat_cas(nt_cas),sens_cas(nt_cas),ustar_cas(nt_cas))
    164         allocate(ts_cas(nt_cas),ps_cas(nt_cas),ps_forc_cas(nt_cas))
    165         allocate(wpthetap_cas(nt_cas),wpqvp_cas(nt_cas),wpqtp_cas(nt_cas),wprvp_cas(nt_cas),wprtp_cas(nt_cas))
     181        allocate(lat_cas(nt_cas),sens_cas(nt_cas),ts_cas(nt_cas),ps_cas(nt_cas),ustar_cas(nt_cas),tke_cas(nt_cas))
     182        allocate(uw_cas(nlev_cas,nt_cas),vw_cas(nlev_cas,nt_cas),q1_cas(nlev_cas,nt_cas),q2_cas(nlev_cas,nt_cas))
     183
     184
    166185
    167186!champs interpoles
    168187        allocate(plev_prof_cas(nlev_cas))
    169188        allocate(t_prof_cas(nlev_cas))
    170         allocate(th_prof_cas(nlev_cas))
     189        allocate(theta_prof_cas(nlev_cas))
    171190        allocate(thl_prof_cas(nlev_cas))
    172         allocate(qt_prof_cas(nlev_cas))
     191        allocate(thv_prof_cas(nlev_cas))
     192        allocate(q_prof_cas(nlev_cas))
    173193        allocate(qv_prof_cas(nlev_cas))
    174194        allocate(ql_prof_cas(nlev_cas))
    175195        allocate(qi_prof_cas(nlev_cas))
    176196        allocate(rh_prof_cas(nlev_cas))
    177         allocate(rt_prof_cas(nlev_cas))
    178197        allocate(rv_prof_cas(nlev_cas))
    179         allocate(rl_prof_cas(nlev_cas))
    180         allocate(ri_prof_cas(nlev_cas))
    181198        allocate(u_prof_cas(nlev_cas))
    182199        allocate(v_prof_cas(nlev_cas))
    183         allocate(w_prof_cas(nlev_cas))
     200        allocate(vitw_prof_cas(nlev_cas))
    184201        allocate(omega_prof_cas(nlev_cas))
    185202        allocate(ug_prof_cas(nlev_cas))
    186203        allocate(vg_prof_cas(nlev_cas))
    187         allocate(temp_nudg_prof_cas(nlev_cas),th_nudg_prof_cas(nlev_cas),thl_nudg_prof_cas(nlev_cas))
    188         allocate(qt_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas),rt_nudg_prof_cas(nlev_cas),rv_nudg_prof_cas(nlev_cas))
     204        allocate(temp_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas))
    189205        allocate(u_nudg_prof_cas(nlev_cas),v_nudg_prof_cas(nlev_cas))
     206        allocate(ht_prof_cas(nlev_cas))
     207        allocate(hth_prof_cas(nlev_cas))
     208        allocate(hq_prof_cas(nlev_cas))
     209        allocate(hu_prof_cas(nlev_cas))
     210        allocate(hv_prof_cas(nlev_cas))
     211        allocate(vt_prof_cas(nlev_cas))
     212        allocate(vth_prof_cas(nlev_cas))
     213        allocate(vq_prof_cas(nlev_cas))
     214        allocate(vu_prof_cas(nlev_cas))
     215        allocate(vv_prof_cas(nlev_cas))
     216        allocate(dt_prof_cas(nlev_cas))
     217        allocate(dth_prof_cas(nlev_cas))
     218        allocate(dtrad_prof_cas(nlev_cas))
     219        allocate(dq_prof_cas(nlev_cas))
     220        allocate(du_prof_cas(nlev_cas))
     221        allocate(dv_prof_cas(nlev_cas))
     222        allocate(uw_prof_cas(nlev_cas))
     223        allocate(vw_prof_cas(nlev_cas))
     224        allocate(q1_prof_cas(nlev_cas))
     225        allocate(q2_prof_cas(nlev_cas))
    190226
    191227        print*,'Allocations OK'
    192 
    193            CALL read_SCM(nid,nlev_cas,nt_cas,                                                                             &
    194      &     zzs_cas,pp_cas,zzforc_cas,ppforc_cas,temp0_cas,theta0_cas,thetal0_cas,qt0_cas,qv0_cas,ql0_cas,qi0_cas,         &
    195      &     rh0_cas,rt0_cas,rv0_cas,rl0_cas,ri0_cas,                                                                       &
    196      &     u0_cas,v0_cas,w_cas,omega_cas,ug_cas,vg_cas,uadv_cas,vadv_cas,tadv_cas,thadv_cas,thladv_cas,                   &
    197      &     qvadv_cas,qtadv_cas,rvadv_cas,rtadv_cas,                                                                       &
    198      &     temp_nudg_cas,th_nudg_cas,thl_nudg_cas,qv_nudg_cas,qt_nudg_cas,rv_nudg_cas,rt_nudg_cas,u_nudg_cas,v_nudg_cas,  &
    199      &     trad_cas,thrad_cas,thlrad_cas,tke_cas,sens_cas,lat_cas,ts_cas,ps_cas,ps_forc_cas,ustar_cas,                    &
    200      &     wpthetap_cas,wpqvp_cas,wpqtp_cas,wprvp_cas,wprtp_cas)
    201 
     228        CALL read_SCM (nid,nlev_cas,nt_cas,                                                                     &
     229     &     ap_cas,bp_cas,z_cas,plev_cas,zh_cas,plevh_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,                   &
     230     &     ql_cas,qi_cas,rh_cas,rv_cas,u_cas,v_cas,vitw_cas,omega_cas,ug_cas,vg_cas,                            &
     231     &     temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas,                                                     &
     232     &     du_cas,hu_cas,vu_cas,                                                                                &
     233     &     dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,               &
     234     &     dr_cas,hr_cas,vr_cas,dtrad_cas,sens_cas,lat_cas,ts_cas,ps_cas,ustar_cas,tke_cas,                      &
     235     &     uw_cas,vw_cas,q1_cas,q2_cas,orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough, &
     236     &     o3_cas,rugos_cas,clay_cas,sand_cas)
    202237        print*,'read_SCM cas OK'
    203238        do ii=1,nlev_cas
    204         print*,'apres read2_SCM, plev_cas=',ii,ppforc_cas(ii,1)
     239        print*,'apres read2_SCM, plev_cas=',ii,plev_cas(ii,1)
    205240        !print*,'apres read_SCM, plev_cas=',ii,omega_cas(ii,nt_cas/2+1)
    206241        enddo
     
    212247!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    213248SUBROUTINE deallocate2_1D_cases
    214 
    215       deallocate(zzforc_cas)
    216       deallocate(ppforc_cas)
    217 !profils initiaux
    218       deallocate(temp0_cas,theta0_cas,thetal0_cas)
    219       deallocate(qt0_cas,qv0_cas,ql0_cas,qi0_cas,u0_cas,v0_cas)
    220       deallocate(rt0_cas,rv0_cas,rl0_cas,ri0_cas,rh0_cas,tke_cas)
    221       deallocate(t_cas,theta_cas,thl_cas,u_cas,v_cas)
    222       deallocate(w_cas,omega_cas)
    223       deallocate(ug_cas,vg_cas)
    224 !advections et nudging     
    225       deallocate(uadv_cas,vadv_cas)
    226       deallocate(tadv_cas,thadv_cas,thladv_cas)
    227       deallocate(qtadv_cas,qvadv_cas)
    228       deallocate(rtadv_cas,rvadv_cas)
    229       deallocate(trad_cas,thrad_cas,thlrad_cas)
    230       deallocate(temp_nudg_cas,th_nudg_cas,thl_nudg_cas)
    231       deallocate(qv_nudg_cas,qt_nudg_cas)
    232       deallocate(rv_nudg_cas,rt_nudg_cas)
    233       deallocate(u_nudg_cas,v_nudg_cas)
    234 ! flux     
    235       deallocate(lat_cas,sens_cas,ustar_cas)
    236       deallocate(ts_cas,ps_cas,ps_forc_cas)
    237       deallocate(wpthetap_cas,wpqvp_cas,wpqtp_cas,wprvp_cas,wprtp_cas)
     249!profils environnementaux:
     250        deallocate(plev_cas,plevh_cas)
     251       
     252        deallocate(z_cas,zh_cas)
     253        deallocate(ap_cas,bp_cas)
     254        deallocate(t_cas,q_cas,qv_cas,ql_cas,qi_cas,rh_cas)
     255        deallocate(th_cas,thl_cas,thv_cas,rv_cas)
     256        deallocate(u_cas,v_cas,vitw_cas,omega_cas)
     257       
     258!forcing
     259        deallocate(ht_cas,vt_cas,dt_cas,dtrad_cas)
     260        deallocate(hq_cas,vq_cas,dq_cas)
     261        deallocate(hth_cas,vth_cas,dth_cas)
     262        deallocate(hr_cas,vr_cas,dr_cas)
     263        deallocate(hu_cas,vu_cas,du_cas)
     264        deallocate(hv_cas,vv_cas,dv_cas)
     265        deallocate(ug_cas)
     266        deallocate(vg_cas)
     267        deallocate(lat_cas,sens_cas,ts_cas,ps_cas,ustar_cas,tke_cas,uw_cas,vw_cas,q1_cas,q2_cas)
    238268
    239269!champs interpoles
    240         deallocate (plev_prof_cas)
    241         deallocate (t_prof_cas)
    242         deallocate (th_prof_cas)
    243         deallocate (thl_prof_cas)
    244         deallocate (qt_prof_cas)
    245         deallocate (qv_prof_cas)
    246         deallocate (ql_prof_cas)
    247         deallocate (qi_prof_cas)
    248         deallocate (rh_prof_cas)
    249         deallocate (rt_prof_cas)
    250         deallocate (rv_prof_cas)
    251         deallocate (rl_prof_cas)
    252         deallocate (ri_prof_cas)
    253         deallocate (u_prof_cas)
    254         deallocate (v_prof_cas)
    255         deallocate (w_prof_cas)
    256         deallocate (omega_prof_cas)
    257         deallocate (ug_prof_cas)
    258         deallocate (vg_prof_cas)
    259         deallocate (temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas)
    260         deallocate (qt_nudg_prof_cas,qv_nudg_prof_cas,rt_nudg_prof_cas,rv_nudg_prof_cas)
    261         deallocate (u_nudg_prof_cas,v_nudg_prof_cas)
     270        deallocate(plev_prof_cas)
     271        deallocate(t_prof_cas)
     272        deallocate(theta_prof_cas)
     273        deallocate(thl_prof_cas)
     274        deallocate(thv_prof_cas)
     275        deallocate(q_prof_cas)
     276        deallocate(qv_prof_cas)
     277        deallocate(ql_prof_cas)
     278        deallocate(qi_prof_cas)
     279        deallocate(rh_prof_cas)
     280        deallocate(rv_prof_cas)
     281        deallocate(u_prof_cas)
     282        deallocate(v_prof_cas)
     283        deallocate(vitw_prof_cas)
     284        deallocate(omega_prof_cas)
     285        deallocate(ug_prof_cas)
     286        deallocate(vg_prof_cas)
     287        deallocate(temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas)
     288        deallocate(ht_prof_cas)
     289        deallocate(hq_prof_cas)
     290        deallocate(hu_prof_cas)
     291        deallocate(hv_prof_cas)
     292        deallocate(vt_prof_cas)
     293        deallocate(vq_prof_cas)
     294        deallocate(vu_prof_cas)
     295        deallocate(vv_prof_cas)
     296        deallocate(dt_prof_cas)
     297        deallocate(dtrad_prof_cas)
     298        deallocate(dq_prof_cas)
     299        deallocate(du_prof_cas)
     300        deallocate(dv_prof_cas)
     301        deallocate(t_prof_cas)
     302        deallocate(u_prof_cas)
     303        deallocate(v_prof_cas)
     304        deallocate(uw_prof_cas)
     305        deallocate(vw_prof_cas)
     306        deallocate(q1_prof_cas)
     307        deallocate(q2_prof_cas)
    262308
    263309END SUBROUTINE deallocate2_1D_cases
     
    265311
    266312!=====================================================================
    267       SUBROUTINE read_SCM(nid,nlevel,ntime,                                                 &
    268      &     zzs,pp,zzforc,ppforc,temp0,theta0,thetal0,qt0,qv0,ql0,qi0,rh0,rt0,rv0,rl0,ri0,    &
    269      &     u0,v0,w,omega,ug,vg,uadv,vadv,tadv,thadv,thladv,qvadv,qtadv,rvadv,rtadv,         &
    270      &     temp_nudg,th_nudg,thl_nudg,qv_nudg,qt_nudg,rv_nudg,rt_nudg,u_nudg,v_nudg,        &
    271      &     trad,thrad,thlrad,tke,sens,flat,ts,ps,ps_forc,ustar,                              &
    272      &     wpthetap,wpqvp,wpqtp,wprvp,wprtp)
    273 
    274 !program reading forcing of the case study   
     313      SUBROUTINE read_SCM(nid,nlevel,ntime,                                       &
     314     &     ap,bp,zz,pp,zzh,pph,temp,theta,thv,thl,qv,ql,qi,rh,rv,u,v,vitw,omega,ug,vg,&
     315     &     temp_nudg,qv_nudg,u_nudg,v_nudg,                                        &
     316     &     du,hu,vu,dv,hv,vv,dt,ht,vt,dq,hq,vq,                                    &
     317     &     dth,hth,vth,dr,hr,vr,dtrad,sens,flat,ts,ps,ustar,tket,uw,vw,q1,q2,       &
     318     &     orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,          &
     319     &     heat_rough,o3_cas,rugos_cas,clay_cas,sand_cas)
     320
     321!program reading forcing of the case study
    275322      implicit none
    276323#include "netcdf.inc"
    277 #include "compar1d_std.h"
     324#include "compar1d.h"
    278325
    279326      integer ntime,nlevel,k,t
    280327
    281       real zzs,zzforc(nlevel,ntime)
    282       real pp,ppforc(nlevel,ntime)
     328      real ap(nlevel+1),bp(nlevel+1)
     329      real zz(nlevel,ntime),zzh(nlevel+1)
     330      real pp(nlevel,ntime),pph(nlevel+1)
    283331!profils initiaux
    284       real temp0(nlevel),theta0(nlevel),thetal0(nlevel),tke(nlevel)
    285       real temp(nlevel,ntime),qv(nlevel,ntime),ql(nlevel,ntime),qi(nlevel,ntime),u(nlevel,ntime),v(nlevel,ntime)
    286       real qt0(nlevel),qv0(nlevel),ql0(nlevel),qi0(nlevel),u0(nlevel),v0(nlevel)
    287       real rt0(nlevel),rv0(nlevel),rl0(nlevel),ri0(nlevel),rh0(nlevel)
    288       real w(nlevel,ntime),omega(nlevel,ntime)
     332      real temp0(nlevel),qv0(nlevel),ql0(nlevel),qi0(nlevel),u0(nlevel),v0(nlevel),tke0(nlevel)
     333      real pp0(nlevel)   
     334      real temp(nlevel,ntime),qv(nlevel,ntime),ql(nlevel,ntime),qi(nlevel,ntime),rh(nlevel,ntime)
     335      real theta(nlevel,ntime),thv(nlevel,ntime),thl(nlevel,ntime),rv(nlevel,ntime)
     336      real u(nlevel,ntime),v(nlevel,ntime),tket(ntime)
     337      real temp_nudg(nlevel,ntime),qv_nudg(nlevel,ntime),u_nudg(nlevel,ntime),v_nudg(nlevel,ntime)
    289338      real ug(nlevel,ntime),vg(nlevel,ntime)
    290 !advections et nudging     
    291       real uadv(nlevel,ntime),vadv(nlevel,ntime)
    292       real tadv(nlevel,ntime),thadv(nlevel,ntime),thladv(nlevel,ntime)
    293       real qtadv(nlevel,ntime),qvadv(nlevel,ntime)
    294       real rtadv(nlevel,ntime),rvadv(nlevel,ntime)
    295       real trad(nlevel,ntime),thrad(nlevel,ntime),thlrad(nlevel,ntime)
    296       real temp_nudg(nlevel,ntime),th_nudg(nlevel,ntime),thl_nudg(nlevel,ntime)
    297       real qv_nudg(nlevel,ntime),qt_nudg(nlevel,ntime)
    298       real rv_nudg(nlevel,ntime),rt_nudg(nlevel,ntime)
    299       real u_nudg(nlevel,ntime),v_nudg(nlevel,ntime)
    300 ! flux     
     339      real vitw(nlevel,ntime),omega(nlevel,ntime)
     340      real du(nlevel,ntime),hu(nlevel,ntime),vu(nlevel,ntime)
     341      real dv(nlevel,ntime),hv(nlevel,ntime),vv(nlevel,ntime)
     342      real dt(nlevel,ntime),ht(nlevel,ntime),vt(nlevel,ntime)
     343      real dtrad(nlevel,ntime)
     344      real dq(nlevel,ntime),hq(nlevel,ntime),vq(nlevel,ntime)
     345      real dth(nlevel,ntime),hth(nlevel,ntime),vth(nlevel,ntime),hthl(nlevel,ntime)
     346      real dr(nlevel,ntime),hr(nlevel,ntime),vr(nlevel,ntime)
    301347      real flat(ntime),sens(ntime),ustar(ntime)
    302       real ts(ntime),ps(ntime),ps_forc(ntime)
    303       real wpthetap(ntime),wpqvp(ntime),wpqtp(ntime),wprtp(ntime),wprvp(ntime)
    304       real resul(nlevel,ntime),resul1(nlevel),resul2(ntime),resul3
     348      real uw(nlevel,ntime),vw(nlevel,ntime),q1(nlevel,ntime),q2(nlevel,ntime)
     349      real ts(ntime),ps(ntime)
     350      real orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough,o3_cas,rugos_cas,clay_cas,sand_cas
     351      real apbp(nlevel+1),resul(nlevel,ntime),resul1(nlevel),resul2(ntime),resul3
    305352
    306353
    307354      integer nid, ierr,ierr1,ierr2,rid,i
    308355      integer nbvar3d
    309       parameter(nbvar3d=55)
     356      parameter(nbvar3d=74)
    310357      integer var3didin(nbvar3d),missing_var(nbvar3d)
    311       character*14 name_var(1:nbvar3d)
     358      character*13 name_var(1:nbvar3d)
    312359
    313360
    314361      data name_var/ &
    315      ! coordonnees pression (n niveaux) profils intiaux #1-#17
    316      & 'qt','qv','ql','qi','rt','rv','rl','ri',                                                   &
    317      & 'rh','temp','theta','thetal','u','v','tke',                                                &
    318      & 'height','pressure',                                                                       &
    319      ! coordonnees pression (n niveaux) + temps #18-#44
    320      & 'height_forc','pressure_forc','w','omega','ug','vg','u_adv','v_adv',                       &
    321      & 'temp_adv','theta_adv','thetal_adv','qt_adv','qv_adv','rt_adv','rv_adv',                   &
    322      & 'temp_rad','theta_rad','thetal_rad','temp_nudging','theta_nudging','thetal_nudging',       &
    323      & 'qv_nudging','qt_nudging','rv_nudging','rt_nudging','u_nudging','v_nudging',               &
    324      ! coordonnees temps #45-#55
    325      & 'sfc_sens_flx','sfc_lat_flx','ts','ps','ps_forc','ustar',                                  &
    326      & 'wpthetap','wpqvp','wpqtp','wprtp','wprvp'/
    327      ! scalaires #56-57
    328      ! Aucune
     362     ! coordonnees pression (n+1 niveaux) #4
     363     & 'coor_par_a','coor_par_b','height_h','pressure_h',& ! #1-#4
     364     ! coordonnees pression (n niveaux) #8
     365     &'temp','qv','ql','qi','u','v','tke','pressure',& ! #5-#12
     366     ! coordonnees pression + temps #42
     367     &'w','omega','ug','vg','uadv','uadvh','uadvv','vadv','vadvh','vadvv','tadv','tadvh','tadvv',& !  #13 - #25
     368     &'qvadv','qvadvh','qvadvv','thadv','thadvh','thadvv','thladvh',                             & ! #26 - #32
     369     & 'radv','radvh','radvv','radcool','q1','q2','ustress','vstress',                           & ! #33 - #40
     370     & 'rh','temp_nudging','qv_nudging','u_nudging','v_nudging',                                       & ! #41-45
     371     &'height_f','pressure_forc','tempt','theta','thv','thl','qvt','qlt','qit','rv','ut','vt',   & ! #46-58
     372     ! coordonnees temps #12
     373     &'tket','sfc_sens_flx','sfc_lat_flx','ts','ps','ustar',&
     374     &'orog','albedo','emiss','t_skin','q_skin','mom_rough','heat_rough',&
     375     ! scalaires #4
     376     &'o3','rugos','clay','sand'/
    329377
    330378!-----------------------------------------------------------------------
     
    346394!-----------------------------------------------------------------------
    347395if ( 1 == 1 ) THEN
    348             if ( name_var(i) == 'temp_nudging' .and. nint(nudging_temp)==0) stop 'Nudging inconsistency temp'
    349             if ( name_var(i) == 'theta_nudging' .and. nint(nudging_theta)==0) stop 'Nudging inconsistency theta'
    350             if ( name_var(i) == 'thetal_nudging' .and. nint(nudging_thetal)==0) stop 'Nudging inconsistency thetal'
     396            if ( name_var(i) == 'temp_nudaing' .and. nint(nudging_t)==0) stop 'Nudging inconsistency temp'
    351397            if ( name_var(i) == 'qv_nudging' .and. nint(nudging_qv)==0) stop 'Nudging inconsistency qv'
    352             if ( name_var(i) == 'qt_nudging' .and. nint(nudging_qt)==0) stop 'Nudging inconsistency qt'
    353             if ( name_var(i) == 'rv_nudging' .and. nint(nudging_rv)==0) stop 'Nudging inconsistency rv'
    354             if ( name_var(i) == 'rt_nudging' .and. nint(nudging_rt)==0) stop 'Nudging inconsistency rt'
    355398            if ( name_var(i) == 'u_nudging' .and. nint(nudging_u)==0) stop 'Nudging inconsistency u'
    356399            if ( name_var(i) == 'v_nudging' .and. nint(nudging_u)==0) stop 'Nudging inconsistency v'
     
    360403
    361404!-----------------------------------------------------------------------
     405! Reading variables 1D (N+1) vertical variables (nlevelp1,lat,lon)
     406!-----------------------------------------------------------------------
     407           if(i.LE.4) then
     408#ifdef NC_DOUBLE
     409           ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),apbp)
     410#else
     411           ierr = NF_GET_VAR_REAL(nid,var3didin(i),apbp)
     412#endif
     413           print *,'read2_cas(apbp), on a lu ',i,name_var(i)
     414           if(ierr/=NF_NOERR) then
     415              print *,'Pb a la lecture de cas.nc: ',name_var(i)
     416              stop "getvarup"
     417           endif
     418
     419!-----------------------------------------------------------------------
    362420!  Reading 1D (N) vertical varialbes    (nlevel,lat,lon)   
    363421!-----------------------------------------------------------------------
    364            if(i.LE.17) then
     422           else if(i.gt.4.and.i.LE.12) then 
    365423#ifdef NC_DOUBLE
    366424           ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul1)
     
    373431              stop "getvarup"
    374432           endif
    375          print*,'Lecture de la variable (nlevel,lat,lon) #i ',i,name_var(i),minval(resul1),maxval(resul1)
     433         print*,'Lecture de la variable #i ',i,name_var(i),minval(resul1),maxval(resul1)
    376434
    377435!-----------------------------------------------------------------------
     
    379437!  TBD : seems to be the same as above.
    380438!-----------------------------------------------------------------------
    381            else if(i.ge.18.and.i.LE.44) then
     439           else if(i.gt.12.and.i.LE.57) then
    382440#ifdef NC_DOUBLE
    383441           ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul)
     
    390448              stop "getvarup"
    391449           endif
    392          print*,'Lecture de la variable (time,nlevel,lat,lon) #i ',i,name_var(i),minval(resul),maxval(resul)
     450         print*,'Lecture de la variable #i ',i,name_var(i),minval(resul),maxval(resul)
    393451
    394452!-----------------------------------------------------------------------
    395453!  Reading 1D time variables (time,lat,lon)
    396454!-----------------------------------------------------------------------
    397            else if (i.gt.45.and.i.LE.55) then
     455           else if (i.gt.57.and.i.LE.63) then
    398456#ifdef NC_DOUBLE
    399457           ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul2)
     
    406464              stop "getvarup"
    407465           endif
    408          print*,'Lecture de la variable (time,lat,lon) #i  ',i,name_var(i),minval(resul2),maxval(resul2)
    409 !-----------------------------------------------------------------------
    410 ! Reading scalar variables (t0,lat,lon)
     466         print*,'Lecture de la variable #i  ',i,name_var(i),minval(resul2),maxval(resul2)
     467
     468!-----------------------------------------------------------------------
     469! Reading scalar variables (lat,lon)
    411470!-----------------------------------------------------------------------
    412471           else
     
    421480              stop "getvarup"
    422481           endif
    423          print*,'Lecture de la variable  (t0,lat,lon) #i ',i,name_var(i),resul3
     482         print*,'Lecture de la variable #i ',i,name_var(i),resul3
    424483           endif
    425484         endif
     
    429488!-----------------------------------------------------------------------
    430489         select case(i)
    431            case(1) ; qt0         =resul1
    432            case(2) ; qv0         =resul1   
    433            case(3) ; ql0         =resul1
    434            case(4) ; qi0         =resul1
    435            case(5) ; rt0         =resul1
    436            case(6) ; rv0         =resul1
    437            case(7) ; rl0         =resul1
    438            case(8) ; ri0         =resul1
    439            case(9) ; rh0         =resul1
    440            case(10) ; temp0      =resul1
    441            case(11) ; theta0     =resul1
    442            case(12) ; thetal0    =resul1
    443            case(13) ; u0         =resul1
    444            case(14) ; v0         =resul1
    445            case(15) ; tke        =resul1       
    446            case(16) ; zzforc     =resul        ! donnees indexees en nlevel,time
    447            case(17) ; ppforc     =resul
    448            case(18) ; w          =resul
    449            case(19) ; omega      =resul
    450            case(20) ; ug         =resul
    451            case(21) ; vg         =resul
    452            case(22) ; uadv       =resul
    453            case(23) ; vadv       =resul
    454            case(24) ; tadv       =resul
    455            case(25) ; thadv      =resul
    456            case(26) ; thladv     =resul
    457            case(27) ; qtadv      =resul
    458            case(28) ; qvadv      =resul
    459            case(29) ; rtadv      =resul
    460            case(30) ; rvadv      =resul
    461            case(31) ; trad       =resul
    462            case(32) ; thrad      =resul
    463            case(33) ; thlrad     =resul
    464            case(34) ; temp_nudg  =resul
    465            case(35) ; th_nudg    =resul
    466            case(36) ; thl_nudg   =resul
    467            case(37) ; qv_nudg    =resul
    468            case(38) ; qt_nudg    =resul
    469            case(39) ; rv_nudg    =resul
    470            case(40) ; rt_nudg    =resul
    471            case(41) ; u_nudg     =resul
    472            case(42) ; v_nudg     =resul
    473            case(43) ; sens       =resul2        ! donnees indexees en time seulement
    474            case(44) ; flat       =resul2     
    475            case(45) ; ts         =resul2
    476            case(46) ; ps         =resul2
    477            case(47) ; ps_forc    =resul2
    478            case(48) ; ustar      =resul2
    479            case(49) ; wpthetap   =resul2
    480            case(50) ; wpqvp      =resul2
    481            case(51) ; wpqtp      =resul2
    482            case(52) ; wprvp      =resul2
    483            case(53) ; wprtp      =resul2
    484            case(54) ; zzs        =resul3       ! scalaires
    485            case(55) ; pp         =resul3
     490         !case(1) ; ap=apbp       ! donnees indexees en nlevel+1
     491         ! case(2) ; bp=apbp
     492           case(3) ; zzh=apbp
     493           case(4) ; pph=apbp
     494           case(5) ; temp0=resul1    ! donnees initiales
     495           case(6) ; qv0=resul1
     496           case(7) ; ql0=resul1
     497           case(8) ; qi0=resul1
     498           case(9) ; u0=resul1
     499           case(10) ; v0=resul1
     500           case(11) ; tke0=resul1
     501           case(12) ; pp0=resul1
     502           case(13) ; vitw=resul    ! donnees indexees en nlevel,time
     503           case(14) ; omega=resul
     504           case(15) ; ug=resul
     505           case(16) ; vg=resul
     506           case(17) ; du=resul
     507           case(18) ; hu=resul
     508           case(19) ; vu=resul
     509           case(20) ; dv=resul
     510           case(21) ; hv=resul
     511           case(22) ; vv=resul
     512           case(23) ; dt=resul
     513           case(24) ; ht=resul
     514           case(25) ; vt=resul
     515           case(26) ; dq=resul
     516           case(27) ; hq=resul
     517           case(28) ; vq=resul
     518           case(29) ; dth=resul
     519           case(30) ; hth=resul
     520           case(31) ; vth=resul
     521           case(32) ; hthl=resul
     522           case(33) ; dr=resul
     523           case(34) ; hr=resul
     524           case(35) ; vr=resul
     525           case(36) ; dtrad=resul
     526           case(37) ; q1=resul
     527           case(38) ; q2=resul
     528           case(39) ; uw=resul
     529           case(40) ; vw=resul
     530           case(41) ; rh=resul
     531           case(42) ; temp_nudg=resul
     532           case(43) ; qv_nudg=resul
     533           case(44) ; u_nudg=resul
     534           case(45) ; v_nudg=resul
     535           case(46) ; zz=resul      ! donnees en time,nlevel pour profil initial
     536           case(47) ; pp=resul
     537           case(48) ; temp=resul
     538           case(49) ; theta=resul
     539           case(50) ; thv=resul
     540           case(51) ; thl=resul
     541           case(52) ; qv=resul
     542           case(53) ; ql=resul
     543           case(54) ; qi=resul
     544           case(55) ; rv=resul
     545           case(56) ; u=resul
     546           case(57) ; v=resul
     547           case(58) ; tket=resul2   ! donnees indexees en time
     548           case(59) ; sens=resul2
     549           case(60) ; flat=resul2
     550           case(61) ; ts=resul2
     551           case(62) ; ps=resul2
     552           case(63) ; ustar=resul2
     553           case(64) ; orog_cas=resul3      ! constantes
     554           case(65) ; albedo_cas=resul3
     555           case(66) ; emiss_cas=resul3
     556           case(67) ; t_skin_cas=resul3
     557           case(68) ; q_skin_cas=resul3
     558           case(69) ; mom_rough=resul3
     559           case(70) ; heat_rough=resul3
     560           case(71) ; o3_cas=resul3       
     561           case(72) ; rugos_cas=resul3
     562           case(73) ; clay_cas=resul3
     563           case(74) ; sand_cas=resul3
    486564         end select
    487565         resul=0.
     
    490568         resul3=0.
    491569       enddo
    492 !        print*,'Lecture de la variable APRES ,sens ',minval(sens),maxval(sens)
    493 !        print*,'Lecture de la variable APRES ,flat ',minval(flat),maxval(flat)
     570         print*,'Lecture de la variable APRES ,sens ',minval(sens),maxval(sens)
     571         print*,'Lecture de la variable APRES ,flat ',minval(flat),maxval(flat)
    494572
    495573!CR:ATTENTION EN ATTENTE DE REGLER LA QUESTION DU PAS DE TEMPS INITIAL
    496 !      do t=1,ntime
    497 !         do k=1,nlevel
    498 !            temp(k,t)=temp0(k)
    499 !            qv(k,t)=qv0(k)
    500 !            ql(k,t)=ql0(k)
    501 !            qi(k,t)=qi0(k)
    502 !            u(k,t)=u0(k)
    503 !            v(k,t)=v0(k)
    504 !            !tke(k,t)=tke0(k)
    505 !         enddo
    506 !      enddo
     574       do t=1,ntime
     575          do k=1,nlevel
     576             temp(k,t)=temp0(k)
     577             qv(k,t)=qv0(k)
     578             ql(k,t)=ql0(k)
     579             qi(k,t)=qi0(k)
     580             u(k,t)=u0(k)
     581             v(k,t)=v0(k)
     582             !tke(k,t)=tke0(k)
     583          enddo
     584       enddo
    507585       !!!! TRAVAIL : EN FONCTION DES DECISIONS SUR LA SPECIFICATION DE W
    508586       !!!omega=-vitw*pres*rg/(rd*temp)
     
    517595!**********************************************************************************************
    518596        SUBROUTINE interp_case_time_std(day,day1,annee_ref                           &
    519      &         ,nt_cas,nlev_cas                                                      &
    520      &         ,ts_cas,ps_cas,ps_forc_cas,plev_cas,ppforc_cas,t_cas,th_cas,thl_cas   &
    521      &         ,qt_cas,qv_cas,ql_cas,qi_cas                                          &
    522      &         ,rt_cas,rv_cas,rl_cas,ri_cas,rh_cas                                   &
    523      &         ,u_cas,v_cas,w_cas,omega_cas,ug_cas,vg_cas                            &
    524      &         ,temp_nudg_cas,th_nudg_cas,thl_nudg_cas,qt_nudg_cas,qv_nudg_cas       &
    525      &         ,rt_nudg_cas,rv_nudg_cas,u_nudg_cas,v_nudg_cas                        &
    526      &         ,uadv_cas,vadv_cas,tadv_cas,thadv_cas,thladv_cas                      &
    527      &         ,qtadv_cas,qvadv_cas,rtadv_cas,rvadv_cas                              &
    528      &         ,trad_cas,thrad_cas,thlrad_cas                                        &
    529      &         ,tke_cas,lat_cas,sens_cas,ustar_cas                                   &
    530      &         ,wpthetap_cas,wpqtp_cas,wpqvp_cas,wprtp_cas,wprvp_cas                 &
     597!    &         ,year_cas,day_cas,nt_cas,pdt_forc,nlev_cas                         &
     598     &         ,nt_cas,nlev_cas                                                   &
     599     &         ,ts_cas,ps_cas,plev_cas,t_cas,theta_cas,thv_cas,thl_cas            &
     600     &         ,qv_cas,ql_cas,qi_cas,u_cas,v_cas                                  &
     601     &         ,ug_cas,vg_cas,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas     &
     602     &         ,vitw_cas,omega_cas,du_cas,hu_cas,vu_cas             &
     603     &         ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas               &
     604     &         ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas                      &
     605     &         ,lat_cas,sens_cas,ustar_cas                                        &
     606     &         ,uw_cas,vw_cas,q1_cas,q2_cas,tke_cas                               &
    531607!
    532      &         ,ts_prof_cas,ps_prof_cas,ps_forc_prof_cas,plev_prof_cas,pforc_prof_cas&
    533      &         ,t_prof_cas,th_prof_cas,thl_prof_cas                                  &
    534      &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                      &
    535      &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas          &
    536      &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                      &
    537      &         ,ug_prof_cas,vg_prof_cas                                              &
    538      &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                &
    539      &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                    &
    540      &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas    &
    541      &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas&
    542      &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas          &
    543      &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                         &
    544      &         ,tke_prof_cas,lat_prof_cas,sens_prof_cas,ustar_prof_cas               &
    545      &         ,wpthetap_prof_cas,wpqtp_prof_cas,wpqvp_prof_cas,wprtp_prof_cas,wprvp_prof_cas)
     608     &         ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas               &
     609     &         ,thv_prof_cas,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas     &
     610     &         ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                     &
     611     &         ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas     &
     612     &         ,vitw_prof_cas,omega_prof_cas,du_prof_cas,hu_prof_cas,vu_prof_cas  &
     613     &         ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas                   &
     614     &         ,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas                &
     615     &         ,hq_prof_cas,vq_prof_cas,dth_prof_cas,hth_prof_cas,vth_prof_cas    &
     616     &         ,lat_prof_cas,sens_prof_cas                                        &
     617     &         ,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tke_prof_cas)
    546618         
    547619
     
    557629!---------------------------------------------------------------------------------------
    558630
    559 #include "compar1d_std.h"
     631#include "compar1d.h"
    560632#include "date_cas.h"
    561633
     
    564636        integer nt_cas,nlev_cas
    565637        real day, day1,day_cas
    566         real ts_cas(nt_cas),ps_cas(nt_cas),ps_forc_cas(nt_cas)
    567         real plev_cas(nlev_cas,nt_cas),ppforc_cas(nt_cas)
    568         real t_cas(nlev_cas,nt_cas),th_cas(nlev_cas,nt_cas),thl_cas(nlev_cas,nt_cas)
    569         real qt_cas(nlev_cas,nt_cas),qv_cas(nlev_cas,nt_cas),ql_cas(nlev_cas,nt_cas),qi_cas(nlev_cas,nt_cas)
    570         real rt_cas(nlev_cas,nt_cas),rv_cas(nlev_cas,nt_cas),rl_cas(nlev_cas,nt_cas),ri_cas(nlev_cas,nt_cas)
    571         real rh_cas(nlev_cas,nt_cas),u_cas(nlev_cas,nt_cas),v_cas(nlev_cas,nt_cas)
    572         real w_cas(nlev_cas,nt_cas),omega_cas(nlev_cas,nt_cas)
     638        real ts_cas(nt_cas),ps_cas(nt_cas)
     639        real plev_cas(nlev_cas,nt_cas)
     640        real t_cas(nlev_cas,nt_cas),theta_cas(nlev_cas,nt_cas),thv_cas(nlev_cas,nt_cas),thl_cas(nlev_cas,nt_cas)
     641        real qv_cas(nlev_cas,nt_cas),ql_cas(nlev_cas,nt_cas),qi_cas(nlev_cas,nt_cas)
     642        real u_cas(nlev_cas,nt_cas),v_cas(nlev_cas,nt_cas)
    573643        real ug_cas(nlev_cas,nt_cas),vg_cas(nlev_cas,nt_cas)
    574         real temp_nudg_cas(nlev_cas,nt_cas),th_nudg_cas(nlev_cas,nt_cas),thl_nudg_cas(nlev_cas,nt_cas)
    575         real qt_nudg_cas(nlev_cas,nt_cas),qv_nudg_cas(nlev_cas,nt_cas)
    576         real rt_nudg_cas(nlev_cas,nt_cas),rv_nudg_cas(nlev_cas,nt_cas)
     644        real temp_nudg_cas(nlev_cas,nt_cas),qv_nudg_cas(nlev_cas,nt_cas)
    577645        real u_nudg_cas(nlev_cas,nt_cas),v_nudg_cas(nlev_cas,nt_cas)
    578         real uadv_cas(nlev_cas,nt_cas),vadv_cas(nlev_cas,nt_cas)
    579         real tadv_cas(nlev_cas,nt_cas),thadv_cas(nlev_cas,nt_cas),thladv_cas(nlev_cas,nt_cas)
    580         real qtadv_cas(nlev_cas,nt_cas),qvadv_cas(nlev_cas,nt_cas)
    581         real rtadv_cas(nlev_cas,nt_cas),rvadv_cas(nlev_cas,nt_cas)
    582         real trad_cas(nlev_cas,nt_cas),thrad_cas(nlev_cas,nt_cas),thlrad_cas(nlev_cas,nt_cas)
     646
     647        real vitw_cas(nlev_cas,nt_cas),omega_cas(nlev_cas,nt_cas)
     648        real du_cas(nlev_cas,nt_cas),hu_cas(nlev_cas,nt_cas),vu_cas(nlev_cas,nt_cas)
     649        real dv_cas(nlev_cas,nt_cas),hv_cas(nlev_cas,nt_cas),vv_cas(nlev_cas,nt_cas)
     650        real dt_cas(nlev_cas,nt_cas),ht_cas(nlev_cas,nt_cas),vt_cas(nlev_cas,nt_cas)
     651        real dth_cas(nlev_cas,nt_cas),hth_cas(nlev_cas,nt_cas),vth_cas(nlev_cas,nt_cas)
     652        real dtrad_cas(nlev_cas,nt_cas)
     653        real dq_cas(nlev_cas,nt_cas),hq_cas(nlev_cas,nt_cas),vq_cas(nlev_cas,nt_cas)
    583654        real lat_cas(nt_cas),sens_cas(nt_cas),tke_cas(nt_cas)
    584         real wpthetap_cas(nt_cas),wpqtp_cas(nt_cas),wpqvp_cas(nt_cas)
    585         real ustar_cas(nt_cas),wprtp_cas(nt_cas),wprvp_cas(nt_cas)
    586 
    587 ! output:
    588         real plev_prof_cas(nlev_cas),pforc_prof_cas(nt_cas)
    589         real t_prof_cas(nlev_cas),th_prof_cas(nlev_cas),thl_prof_cas(nlev_cas)
    590         real qt_prof_cas(nlev_cas),qv_prof_cas(nlev_cas),ql_prof_cas(nlev_cas),qi_prof_cas(nlev_cas)
    591         real rt_prof_cas(nlev_cas),rv_prof_cas(nlev_cas),rl_prof_cas(nlev_cas),ri_prof_cas(nlev_cas)
    592         real rh_prof_cas(nlev_cas),u_prof_cas(nlev_cas),v_prof_cas(nlev_cas)
    593         real w_prof_cas(nlev_cas),omega_prof_cas(nlev_cas)
     655        real ustar_cas(nt_cas),uw_cas(nlev_cas,nt_cas),vw_cas(nlev_cas,nt_cas)
     656        real q1_cas(nlev_cas,nt_cas),q2_cas(nlev_cas,nt_cas)
     657
     658! outputs:
     659        real plev_prof_cas(nlev_cas)
     660        real t_prof_cas(nlev_cas),theta_prof_cas(nlev_cas),thl_prof_cas(nlev_cas),thv_prof_cas(nlev_cas)
     661        real qv_prof_cas(nlev_cas),ql_prof_cas(nlev_cas),qi_prof_cas(nlev_cas)
     662        real u_prof_cas(nlev_cas),v_prof_cas(nlev_cas)
    594663        real ug_prof_cas(nlev_cas),vg_prof_cas(nlev_cas)
    595         real temp_nudg_prof_cas(nlev_cas),th_nudg_prof_cas(nlev_cas),thl_nudg_prof_cas(nlev_cas)
    596         real qt_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas)
    597         real rt_nudg_prof_cas(nlev_cas),rv_nudg_prof_cas(nlev_cas)
     664        real temp_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas)
    598665        real u_nudg_prof_cas(nlev_cas),v_nudg_prof_cas(nlev_cas)
    599         real uadv_prof_cas(nlev_cas),vadv_prof_cas(nlev_cas)
    600         real tadv_prof_cas(nlev_cas),thadv_prof_cas(nlev_cas),thladv_prof_cas(nlev_cas)
    601         real qtadv_prof_cas(nlev_cas),qvadv_prof_cas(nlev_cas)
    602         real rtadv_prof_cas(nlev_cas),rvadv_prof_cas(nlev_cas)
    603         real trad_prof_cas(nlev_cas),thrad_prof_cas(nlev_cas),thlrad_prof_cas(nlev_cas)
    604         real lat_prof_cas,sens_prof_cas,tke_prof_cas
    605         real ts_prof_cas,ps_prof_cas,ps_forc_prof_cas
    606         real wpthetap_prof_cas,wpqtp_prof_cas,wpqvp_prof_cas
    607         real ustar_prof_cas,wprtp_prof_cas,wprvp_prof_cas
    608 
     666
     667        real vitw_prof_cas(nlev_cas),omega_prof_cas(nlev_cas)
     668        real du_prof_cas(nlev_cas),hu_prof_cas(nlev_cas),vu_prof_cas(nlev_cas)
     669        real dv_prof_cas(nlev_cas),hv_prof_cas(nlev_cas),vv_prof_cas(nlev_cas)
     670        real dt_prof_cas(nlev_cas),ht_prof_cas(nlev_cas),vt_prof_cas(nlev_cas)
     671        real dth_prof_cas(nlev_cas),hth_prof_cas(nlev_cas),vth_prof_cas(nlev_cas)
     672        real dtrad_prof_cas(nlev_cas)
     673        real dq_prof_cas(nlev_cas),hq_prof_cas(nlev_cas),vq_prof_cas(nlev_cas)
     674        real lat_prof_cas,sens_prof_cas,tke_prof_cas,ts_prof_cas,ps_prof_cas,ustar_prof_cas
     675        real uw_prof_cas(nlev_cas),vw_prof_cas(nlev_cas),q1_prof_cas(nlev_cas),q2_prof_cas(nlev_cas)
    609676! local:
    610677        integer it_cas1, it_cas2,k
    611678        real timeit,time_cas1,time_cas2,frac
    612679
     680
    613681        print*,'Check time',day1,day_ju_ini_cas,day_deb+1,pdt_cas
    614682!       do k=1,nlev_cas
    615 !       print*,'debut de interp_case_time, plev_cas=',k,plev_cas(k,1)
     683!       print*,'debut de interp2_case_time, plev_cas=',k,plev_cas(k,1)
    616684!       enddo
    617685
     
    694762       ps_prof_cas = ps_cas(it_cas2)                                     &
    695763     &          -frac*(ps_cas(it_cas2)-ps_cas(it_cas1))
    696        ps_forc_prof_cas = ps_forc_cas(it_cas2)                           &
    697      &          -frac*(ps_forc_cas(it_cas2)-ps_forc_cas(it_cas1))
    698764       ustar_prof_cas = ustar_cas(it_cas2)                               &
    699765     &          -frac*(ustar_cas(it_cas2)-ustar_cas(it_cas1))
    700        wpthetap_prof_cas = wpthetap_cas(it_cas2)                               &
    701      &          -frac*(wpthetap_cas(it_cas2)-wpthetap_cas(it_cas1))
    702        wpqtp_prof_cas = wpqtp_cas(it_cas2)                               &
    703      &          -frac*(wpqtp_cas(it_cas2)-wpqtp_cas(it_cas1))
    704        wpqvp_prof_cas = wpqvp_cas(it_cas2)                               &
    705      &          -frac*(wpqvp_cas(it_cas2)-wpqvp_cas(it_cas1))
    706        wprtp_prof_cas = wprtp_cas(it_cas2)                               &
    707      &          -frac*(wprtp_cas(it_cas2)-wprtp_cas(it_cas1))
    708        wprvp_prof_cas = wprvp_cas(it_cas2)                               &
    709      &          -frac*(wprvp_cas(it_cas2)-wprvp_cas(it_cas1))
    710766
    711767       do k=1,nlev_cas
     
    715771     &          -frac*(t_cas(k,it_cas2)-t_cas(k,it_cas1))
    716772        !print *,'k,frac,plev_cas1,plev_cas2=',k,frac,plev_cas(k,it_cas1),plev_cas(k,it_cas2)
    717         th_prof_cas(k) = th_cas(k,it_cas2)                         &                     
    718      &          -frac*(th_cas(k,it_cas2)-th_cas(k,it_cas1))
     773        theta_prof_cas(k) = theta_cas(k,it_cas2)                         &                     
     774     &          -frac*(theta_cas(k,it_cas2)-theta_cas(k,it_cas1))
     775        thv_prof_cas(k) = thv_cas(k,it_cas2)                             &         
     776     &          -frac*(thv_cas(k,it_cas2)-thv_cas(k,it_cas1))
    719777        thl_prof_cas(k) = thl_cas(k,it_cas2)                             &             
    720778     &          -frac*(thl_cas(k,it_cas2)-thl_cas(k,it_cas1))
    721         qt_prof_cas(k) = qt_cas(k,it_cas2)                               &
    722      &          -frac*(qt_cas(k,it_cas2)-qt_cas(k,it_cas1))
    723779        qv_prof_cas(k) = qv_cas(k,it_cas2)                               &
    724780     &          -frac*(qv_cas(k,it_cas2)-qv_cas(k,it_cas1))
     
    727783        qi_prof_cas(k) = qi_cas(k,it_cas2)                               &
    728784     &          -frac*(qi_cas(k,it_cas2)-qi_cas(k,it_cas1))
    729         rt_prof_cas(k) = rt_cas(k,it_cas2)                               &
    730      &          -frac*(rt_cas(k,it_cas2)-rt_cas(k,it_cas1))
    731         rv_prof_cas(k) = rv_cas(k,it_cas2)                               &
    732      &          -frac*(rv_cas(k,it_cas2)-rv_cas(k,it_cas1))
    733         rl_prof_cas(k) = rl_cas(k,it_cas2)                               &
    734      &          -frac*(rl_cas(k,it_cas2)-rl_cas(k,it_cas1))
    735         ri_prof_cas(k) = ri_cas(k,it_cas2)                               &
    736      &          -frac*(ri_cas(k,it_cas2)-ri_cas(k,it_cas1))
    737         rh_prof_cas(k) = rh_cas(k,it_cas2)                               &
    738      &          -frac*(rh_cas(k,it_cas2)-rh_cas(k,it_cas1))
    739785        u_prof_cas(k) = u_cas(k,it_cas2)                                 &
    740786     &          -frac*(u_cas(k,it_cas2)-u_cas(k,it_cas1))
    741787        v_prof_cas(k) = v_cas(k,it_cas2)                                 &
    742788     &          -frac*(v_cas(k,it_cas2)-v_cas(k,it_cas1))
    743         w_prof_cas(k) = w_cas(k,it_cas2)                           &
    744      &          -frac*(w_cas(k,it_cas2)-w_cas(k,it_cas1))
    745         omega_prof_cas(k) = omega_cas(k,it_cas2)                         &
    746      &          -frac*(omega_cas(k,it_cas2)-omega_cas(k,it_cas1))
    747789        ug_prof_cas(k) = ug_cas(k,it_cas2)                               &
    748790     &          -frac*(ug_cas(k,it_cas2)-ug_cas(k,it_cas1))
     
    751793        temp_nudg_prof_cas(k) = temp_nudg_cas(k,it_cas2)                    &
    752794     &          -frac*(temp_nudg_cas(k,it_cas2)-temp_nudg_cas(k,it_cas1))
    753         th_nudg_prof_cas(k) = th_nudg_cas(k,it_cas2)                    &
    754      &          -frac*(th_nudg_cas(k,it_cas2)-th_nudg_cas(k,it_cas1))
    755         thl_nudg_prof_cas(k) = thl_nudg_cas(k,it_cas2)                    &
    756      &          -frac*(thl_nudg_cas(k,it_cas2)-thl_nudg_cas(k,it_cas1))
    757         qt_nudg_prof_cas(k) = qt_nudg_cas(k,it_cas2)                        &
    758      &          -frac*(qt_nudg_cas(k,it_cas2)-qt_nudg_cas(k,it_cas1))
    759795        qv_nudg_prof_cas(k) = qv_nudg_cas(k,it_cas2)                        &
    760796     &          -frac*(qv_nudg_cas(k,it_cas2)-qv_nudg_cas(k,it_cas1))
    761         rt_nudg_prof_cas(k) = rt_nudg_cas(k,it_cas2)                        &
    762      &          -frac*(rt_nudg_cas(k,it_cas2)-rt_nudg_cas(k,it_cas1))
    763         rv_nudg_prof_cas(k) = rv_nudg_cas(k,it_cas2)                        &
    764      &          -frac*(rv_nudg_cas(k,it_cas2)-rv_nudg_cas(k,it_cas1))
    765797        u_nudg_prof_cas(k) = u_nudg_cas(k,it_cas2)                          &
    766798     &          -frac*(u_nudg_cas(k,it_cas2)-u_nudg_cas(k,it_cas1))
    767799        v_nudg_prof_cas(k) = v_nudg_cas(k,it_cas2)                          &
    768800     &          -frac*(v_nudg_cas(k,it_cas2)-v_nudg_cas(k,it_cas1))
    769         uadv_prof_cas(k) = uadv_cas(k,it_cas2)                          &
    770      &          -frac*(uadv_cas(k,it_cas2)-uadv_cas(k,it_cas1))
    771         vadv_prof_cas(k) = vadv_cas(k,it_cas2)                          &
    772      &          -frac*(vadv_cas(k,it_cas2)-vadv_cas(k,it_cas1))
    773         tadv_prof_cas(k) = tadv_cas(k,it_cas2)                          &
    774      &          -frac*(tadv_cas(k,it_cas2)-tadv_cas(k,it_cas1))
    775         thadv_prof_cas(k) = thadv_cas(k,it_cas2)                          &
    776      &          -frac*(thadv_cas(k,it_cas2)-thadv_cas(k,it_cas1))
    777         thladv_prof_cas(k) = thladv_cas(k,it_cas2)                          &
    778      &          -frac*(thladv_cas(k,it_cas2)-thladv_cas(k,it_cas1))
    779         qtadv_prof_cas(k) = qtadv_cas(k,it_cas2)                          &
    780      &          -frac*(qtadv_cas(k,it_cas2)-qtadv_cas(k,it_cas1))
    781         qvadv_prof_cas(k) = qvadv_cas(k,it_cas2)                          &
    782      &          -frac*(qvadv_cas(k,it_cas2)-qvadv_cas(k,it_cas1))
    783         rtadv_prof_cas(k) = rtadv_cas(k,it_cas2)                          &
    784      &          -frac*(rtadv_cas(k,it_cas2)-rtadv_cas(k,it_cas1))
    785         rvadv_prof_cas(k) = rvadv_cas(k,it_cas2)                          &
    786      &          -frac*(rvadv_cas(k,it_cas2)-rvadv_cas(k,it_cas1))
    787         trad_prof_cas(k) = trad_cas(k,it_cas2)                         &
    788      &          -frac*(trad_cas(k,it_cas2)-trad_cas(k,it_cas1))
    789         thrad_prof_cas(k) = thrad_cas(k,it_cas2)                         &
    790      &          -frac*(thrad_cas(k,it_cas2)-thrad_cas(k,it_cas1))
    791         thlrad_prof_cas(k) = thlrad_cas(k,it_cas2)                         &
    792      &          -frac*(thlrad_cas(k,it_cas2)-thlrad_cas(k,it_cas1))
     801        vitw_prof_cas(k) = vitw_cas(k,it_cas2)                           &
     802     &          -frac*(vitw_cas(k,it_cas2)-vitw_cas(k,it_cas1))
     803        omega_prof_cas(k) = omega_cas(k,it_cas2)                         &
     804     &          -frac*(omega_cas(k,it_cas2)-omega_cas(k,it_cas1))
     805        du_prof_cas(k) = du_cas(k,it_cas2)                               &
     806     &          -frac*(du_cas(k,it_cas2)-du_cas(k,it_cas1))
     807        hu_prof_cas(k) = hu_cas(k,it_cas2)                               &
     808     &          -frac*(hu_cas(k,it_cas2)-hu_cas(k,it_cas1))
     809        vu_prof_cas(k) = vu_cas(k,it_cas2)                               &
     810     &          -frac*(vu_cas(k,it_cas2)-vu_cas(k,it_cas1))
     811        dv_prof_cas(k) = dv_cas(k,it_cas2)                               &
     812     &          -frac*(dv_cas(k,it_cas2)-dv_cas(k,it_cas1))
     813        hv_prof_cas(k) = hv_cas(k,it_cas2)                               &
     814     &          -frac*(hv_cas(k,it_cas2)-hv_cas(k,it_cas1))
     815        vv_prof_cas(k) = vv_cas(k,it_cas2)                               &
     816     &          -frac*(vv_cas(k,it_cas2)-vv_cas(k,it_cas1))
     817        dt_prof_cas(k) = dt_cas(k,it_cas2)                               &
     818     &          -frac*(dt_cas(k,it_cas2)-dt_cas(k,it_cas1))
     819        ht_prof_cas(k) = ht_cas(k,it_cas2)                               &
     820     &          -frac*(ht_cas(k,it_cas2)-ht_cas(k,it_cas1))
     821        vt_prof_cas(k) = vt_cas(k,it_cas2)                               &
     822     &          -frac*(vt_cas(k,it_cas2)-vt_cas(k,it_cas1))
     823        dth_prof_cas(k) = dth_cas(k,it_cas2)                             &
     824     &          -frac*(dth_cas(k,it_cas2)-dth_cas(k,it_cas1))
     825        hth_prof_cas(k) = hth_cas(k,it_cas2)                             &
     826     &          -frac*(hth_cas(k,it_cas2)-hth_cas(k,it_cas1))
     827        vth_prof_cas(k) = vth_cas(k,it_cas2)                             &
     828     &          -frac*(vth_cas(k,it_cas2)-vth_cas(k,it_cas1))
     829        dtrad_prof_cas(k) = dtrad_cas(k,it_cas2)                         &
     830     &          -frac*(dtrad_cas(k,it_cas2)-dtrad_cas(k,it_cas1))
     831        dq_prof_cas(k) = dq_cas(k,it_cas2)                               &
     832     &          -frac*(dq_cas(k,it_cas2)-dq_cas(k,it_cas1))
     833        hq_prof_cas(k) = hq_cas(k,it_cas2)                               &
     834     &          -frac*(hq_cas(k,it_cas2)-hq_cas(k,it_cas1))
     835        vq_prof_cas(k) = vq_cas(k,it_cas2)                               &
     836     &          -frac*(vq_cas(k,it_cas2)-vq_cas(k,it_cas1))
     837       uw_prof_cas(k) = uw_cas(k,it_cas2)                                &
     838     &          -frac*(uw_cas(k,it_cas2)-uw_cas(k,it_cas1))
     839       vw_prof_cas(k) = vw_cas(k,it_cas2)                                &
     840     &          -frac*(vw_cas(k,it_cas2)-vw_cas(k,it_cas1))
     841       q1_prof_cas(k) = q1_cas(k,it_cas2)                                &
     842     &          -frac*(q1_cas(k,it_cas2)-q1_cas(k,it_cas1))
     843       q2_prof_cas(k) = q2_cas(k,it_cas2)                                &
     844     &          -frac*(q2_cas(k,it_cas2)-q2_cas(k,it_cas1))
    793845        enddo
    794846
     
    798850!**********************************************************************************************
    799851!=====================================================================
    800        SUBROUTINE interp_case_vertical_std(nlev_cas                                                    &
    801      &         ,plev_prof_cas,t_prof_cas,th_prof_cas,thl_prof_cas                                   &
    802      &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                                        &
    803      &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas                            &
    804      &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                                        &
     852       SUBROUTINE interp2_case_vertical_std(play,nlev_cas,plev_prof_cas                                &
     853     &         ,t_prof_cas,th_prof_cas,thv_prof_cas,thl_prof_cas                                       &
     854     &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                              &
    805855     &         ,ug_prof_cas,vg_prof_cas                                                                &
    806      &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                                  &
    807      &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                                      &
    808      &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                      &
    809      &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas               &
    810      &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas                            &
    811      &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                                           &
     856     &         ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                    &
     857     &         ,vitw_prof_cas,omega_prof_cas                                                           &
     858     &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                &
     859     &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas &
     860     &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                 &
    812861!
    813      &         ,plev_mod_cas,t_mod_cas,th_mod_cas,thl_mod_cas                                       &
    814      &         ,qt_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas                                            &
    815      &         ,rt_mod_cas,rv_mod_cas,rl_mod_cas,ri_mod_cas,rh_mod_cas                                 &
    816      &         ,u_mod_cas,v_mod_cas,w_mod_cas,omega_mod_cas                                            &
     862     &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas                                        &
     863     &         ,qv_mod_cas,ql_mod_cas,qi_mod_cas,u_mod_cas,v_mod_cas                                   &
    817864     &         ,ug_mod_cas,vg_mod_cas                                                                  &
    818      &         ,temp_nudg_mod_cas,th_nudg_mod_cas,thl_nudg_mod_cas                                     &
    819      &         ,qt_nudg_mod_cas,qv_nudg_mod_cas                                                        &
    820      &         ,rt_nudg_mod_cas,rv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                          &
    821      &         ,uadv_mod_cas,vadv_mod_cas,tadv_mod_cas,thadv_mod_cas,thladv_mod_cas                    &
    822      &         ,qtadv_mod_cas,qvadv_mod_cas,rtadv_mod_cas,rvadv_mod_cas                                &
    823      &         ,trad_mod_cas,thrad_mod_cas,thlrad_mod_cas)
     865     &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                        &
     866     &         ,w_mod_cas,omega_mod_cas                                                                &
     867     &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                      &
     868     &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas        &
     869     &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
    824870 
    825871       implicit none
     
    840886!       real ht_prof(nlevmax),vt_prof(nlevmax)
    841887!       real hq_prof(nlevmax),vq_prof(nlevmax)
    842        real plev_prof_cas(nlev_cas)
    843        real t_prof_cas(nlev_cas),th_prof_cas(nlev_cas),thl_prof_cas(nlev_cas)                       
    844        real qt_prof_cas(nlev_cas),qv_prof_cas(nlev_cas),ql_prof_cas(nlev_cas),qi_prof_cas(nlev_cas)     
    845        real rt_prof_cas(nlev_cas),rv_prof_cas(nlev_cas),rl_prof_cas(nlev_cas),ri_prof_cas(nlev_cas)
    846        real rh_prof_cas(nlev_cas)                           
    847        real u_prof_cas(nlev_cas),v_prof_cas(nlev_cas),w_prof_cas(nlev_cas),omega_prof_cas(nlev_cas)     
    848        real ug_prof_cas(nlev_cas),vg_prof_cas(nlev_cas)                                             
    849        real temp_nudg_prof_cas(nlev_cas),th_nudg_prof_cas(nlev_cas),thl_nudg_prof_cas(nlev_cas)         
    850        real qt_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas)
    851        real rt_nudg_prof_cas(nlev_cas),rv_nudg_prof_cas(nlev_cas)
    852        real u_nudg_prof_cas(nlev_cas),v_nudg_prof_cas(nlev_cas)                     
    853        real uadv_prof_cas(nlev_cas),vadv_prof_cas(nlev_cas)
    854        real tadv_prof_cas(nlev_cas),thadv_prof_cas(nlev_cas),thladv_prof_cas(nlev_cas)
    855        real qtadv_prof_cas(nlev_cas),qvadv_prof_cas(nlev_cas)
    856        real rtadv_prof_cas(nlev_cas),rvadv_prof_cas(nlev_cas)                           
    857        real trad_prof_cas(nlev_cas),thrad_prof_cas(nlev_cas),thlrad_prof_cas(nlev_cas)                                           
    858888 
    859        real play(llm),plev_mod_cas(llm),t_mod_cas(llm),th_mod_cas(llm),thl_mod_cas(llm)             
    860        real qt_mod_cas(llm),qv_mod_cas(llm),ql_mod_cas(llm),qi_mod_cas(llm)                       
    861        real rt_mod_cas(llm),rv_mod_cas(llm),rl_mod_cas(llm),ri_mod_cas(llm)
    862        real rh_mod_cas(llm)
    863        real u_mod_cas(llm),v_mod_cas(llm),w_mod_cas(llm),omega_mod_cas(llm)                             
    864        real ug_mod_cas(llm),vg_mod_cas(llm)
    865        real temp_nudg_mod_cas(llm),th_nudg_mod_cas(llm),thl_nudg_mod_cas(llm)                       
    866        real qt_nudg_mod_cas(llm),qv_nudg_mod_cas(llm)
    867        real rt_nudg_mod_cas(llm),rv_nudg_mod_cas(llm),u_nudg_mod_cas(llm),v_nudg_mod_cas(llm)
    868        real uadv_mod_cas(llm),vadv_mod_cas(llm)
    869        real tadv_mod_cas(llm),thadv_mod_cas(llm),thladv_mod_cas(llm)               
    870        real qtadv_mod_cas(llm),qvadv_mod_cas(llm)
    871        real rtadv_mod_cas(llm),rvadv_mod_cas(llm)                           
    872        real trad_mod_cas(llm),thrad_mod_cas(llm),thlrad_mod_cas(llm)                                           
     889       real play(llm), plev_prof_cas(nlev_cas)
     890       real t_prof_cas(nlev_cas),th_prof_cas(nlev_cas),thv_prof_cas(nlev_cas),thl_prof_cas(nlev_cas)
     891       real qv_prof_cas(nlev_cas),ql_prof_cas(nlev_cas),qi_prof_cas(nlev_cas)
     892       real u_prof_cas(nlev_cas),v_prof_cas(nlev_cas)
     893       real ug_prof_cas(nlev_cas),vg_prof_cas(nlev_cas), vitw_prof_cas(nlev_cas),omega_prof_cas(nlev_cas)
     894       real temp_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas)
     895       real u_nudg_prof_cas(nlev_cas),v_nudg_prof_cas(nlev_cas)
     896
     897       real du_prof_cas(nlev_cas),hu_prof_cas(nlev_cas),vu_prof_cas(nlev_cas)
     898       real dv_prof_cas(nlev_cas),hv_prof_cas(nlev_cas),vv_prof_cas(nlev_cas)
     899       real dt_prof_cas(nlev_cas),ht_prof_cas(nlev_cas),vt_prof_cas(nlev_cas),dtrad_prof_cas(nlev_cas)
     900       real dth_prof_cas(nlev_cas),hth_prof_cas(nlev_cas),vth_prof_cas(nlev_cas)
     901       real dq_prof_cas(nlev_cas),hq_prof_cas(nlev_cas),vq_prof_cas(nlev_cas)
     902 
     903       real t_mod_cas(llm),theta_mod_cas(llm),thv_mod_cas(llm),thl_mod_cas(llm)
     904       real qv_mod_cas(llm),ql_mod_cas(llm),qi_mod_cas(llm)
     905       real u_mod_cas(llm),v_mod_cas(llm)
     906       real ug_mod_cas(llm),vg_mod_cas(llm), w_mod_cas(llm),omega_mod_cas(llm)
     907       real temp_nudg_mod_cas(llm),qv_nudg_mod_cas(llm)
     908       real u_nudg_mod_cas(llm),v_nudg_mod_cas(llm)
     909       real du_mod_cas(llm),hu_mod_cas(llm),vu_mod_cas(llm)
     910       real dv_mod_cas(llm),hv_mod_cas(llm),vv_mod_cas(llm)
     911       real dt_mod_cas(llm),ht_mod_cas(llm),vt_mod_cas(llm),dtrad_mod_cas(llm)
     912       real dth_mod_cas(llm),hth_mod_cas(llm),vth_mod_cas(llm)
     913       real dq_mod_cas(llm),hq_mod_cas(llm),vq_mod_cas(llm)
    873914 
    874915       integer l,k,k1,k2
     
    876917 
    877918!       do l = 1, llm
    878 !       print *,'debut interp, play=',l,play(l)
     919!       print *,'debut interp2, play=',l,play(l)
    879920!       enddo
    880921!      do l = 1, nlev_cas
    881 !      print *,'debut interp, plev_prof_cas=',l,play(l),plev_prof_cas(l)
     922!      print *,'debut interp2, plev_prof_cas=',l,play(l),plev_prof_cas(l)
    882923!      enddo
    883924
     
    887928 
    888929        mxcalc=l
    889 !        print *,'debut interp, mxcalc=',mxcalc
     930!        print *,'debut interp2, mxcalc=',mxcalc
    890931         k1=0
    891932         k2=0
     
    910951         frac = (plev_prof_cas(k2)-play(l))/(plev_prof_cas(k2)-plev_prof_cas(k1))
    911952         t_mod_cas(l)= t_prof_cas(k2) - frac*(t_prof_cas(k2)-t_prof_cas(k1))
    912          th_mod_cas(l)= th_prof_cas(k2) - frac*(th_prof_cas(k2)-th_prof_cas(k1))
    913          if(th_mod_cas(l).NE.0) t_mod_cas(l)= th_mod_cas(l)*(play(l)/100000.)**(RD/RCPD)
     953         theta_mod_cas(l)= th_prof_cas(k2) - frac*(th_prof_cas(k2)-th_prof_cas(k1))
     954         if(theta_mod_cas(l).NE.0) t_mod_cas(l)= theta_mod_cas(l)*(play(l)/100000.)**(RD/RCPD)
     955         thv_mod_cas(l)= thv_prof_cas(k2) - frac*(thv_prof_cas(k2)-thv_prof_cas(k1))
    914956         thl_mod_cas(l)= thl_prof_cas(k2) - frac*(thl_prof_cas(k2)-thl_prof_cas(k1))
    915          qt_mod_cas(l)= qt_prof_cas(k2) - frac*(qt_prof_cas(k2)-qt_prof_cas(k1))
    916957         qv_mod_cas(l)= qv_prof_cas(k2) - frac*(qv_prof_cas(k2)-qv_prof_cas(k1))
    917958         ql_mod_cas(l)= ql_prof_cas(k2) - frac*(ql_prof_cas(k2)-ql_prof_cas(k1))
    918959         qi_mod_cas(l)= qi_prof_cas(k2) - frac*(qi_prof_cas(k2)-qi_prof_cas(k1))
    919          rt_mod_cas(l)= rt_prof_cas(k2) - frac*(rt_prof_cas(k2)-rt_prof_cas(k1))
    920          rv_mod_cas(l)= rv_prof_cas(k2) - frac*(rv_prof_cas(k2)-rv_prof_cas(k1))
    921          rl_mod_cas(l)= rl_prof_cas(k2) - frac*(rl_prof_cas(k2)-rl_prof_cas(k1))
    922          ri_mod_cas(l)= ri_prof_cas(k2) - frac*(ri_prof_cas(k2)-ri_prof_cas(k1))
    923          rh_mod_cas(l)= rh_prof_cas(k2) - frac*(rh_prof_cas(k2)-rh_prof_cas(k1))
    924960         u_mod_cas(l)= u_prof_cas(k2) - frac*(u_prof_cas(k2)-u_prof_cas(k1))
    925961         v_mod_cas(l)= v_prof_cas(k2) - frac*(v_prof_cas(k2)-v_prof_cas(k1))
    926          w_mod_cas(l)= w_prof_cas(k2) - frac*(w_prof_cas(k2)-w_prof_cas(k1))
    927          omega_mod_cas(l)= omega_prof_cas(k2) - frac*(omega_prof_cas(k2)-omega_prof_cas(k1))
    928962         ug_mod_cas(l)= ug_prof_cas(k2) - frac*(ug_prof_cas(k2)-ug_prof_cas(k1))
    929963         vg_mod_cas(l)= vg_prof_cas(k2) - frac*(vg_prof_cas(k2)-vg_prof_cas(k1))
    930964         temp_nudg_mod_cas(l)= temp_nudg_prof_cas(k2) - frac*(temp_nudg_prof_cas(k2)-temp_nudg_prof_cas(k1))
    931          th_nudg_mod_cas(l)= th_nudg_prof_cas(k2) - frac*(th_nudg_prof_cas(k2)-th_nudg_prof_cas(k1))
    932          thl_nudg_mod_cas(l)= thl_nudg_prof_cas(k2) - frac*(thl_nudg_prof_cas(k2)-thl_nudg_prof_cas(k1))
    933          qt_nudg_mod_cas(l)= qt_nudg_prof_cas(k2) - frac*(qt_nudg_prof_cas(k2)-qt_nudg_prof_cas(k1))
    934965         qv_nudg_mod_cas(l)= qv_nudg_prof_cas(k2) - frac*(qv_nudg_prof_cas(k2)-qv_nudg_prof_cas(k1))
    935          rt_nudg_mod_cas(l)= rt_nudg_prof_cas(k2) - frac*(rt_nudg_prof_cas(k2)-rt_nudg_prof_cas(k1))
    936          rv_nudg_mod_cas(l)= rv_nudg_prof_cas(k2) - frac*(rv_nudg_prof_cas(k2)-rv_nudg_prof_cas(k1))
    937966         u_nudg_mod_cas(l)= u_nudg_prof_cas(k2) - frac*(u_nudg_prof_cas(k2)-u_nudg_prof_cas(k1))
    938967         v_nudg_mod_cas(l)= v_nudg_prof_cas(k2) - frac*(v_nudg_prof_cas(k2)-v_nudg_prof_cas(k1))
    939          uadv_mod_cas(l)= uadv_prof_cas(k2) - frac*(uadv_prof_cas(k2)-uadv_prof_cas(k1))
    940          vadv_mod_cas(l)= vadv_prof_cas(k2) - frac*(vadv_prof_cas(k2)-vadv_prof_cas(k1))
    941          tadv_mod_cas(l)= tadv_prof_cas(k2) - frac*(tadv_prof_cas(k2)-tadv_prof_cas(k1))
    942          thadv_mod_cas(l)= thadv_prof_cas(k2) - frac*(thadv_prof_cas(k2)-thadv_prof_cas(k1))
    943          thladv_mod_cas(l)= thladv_prof_cas(k2) - frac*(thladv_prof_cas(k2)-thladv_prof_cas(k1))
    944          qtadv_mod_cas(l)= qtadv_prof_cas(k2) - frac*(qtadv_prof_cas(k2)-qtadv_prof_cas(k1))
    945          qvadv_mod_cas(l)= qvadv_prof_cas(k2) - frac*(qvadv_prof_cas(k2)-qvadv_prof_cas(k1))
    946          rtadv_mod_cas(l)= rtadv_prof_cas(k2) - frac*(rtadv_prof_cas(k2)-rtadv_prof_cas(k1))
    947          rvadv_mod_cas(l)= rvadv_prof_cas(k2) - frac*(rvadv_prof_cas(k2)-rvadv_prof_cas(k1))
    948          trad_mod_cas(l)= trad_prof_cas(k2) - frac*(trad_prof_cas(k2)-trad_prof_cas(k1))
    949          thrad_mod_cas(l)= thrad_prof_cas(k2) - frac*(thrad_prof_cas(k2)-thrad_prof_cas(k1))
    950          thlrad_mod_cas(l)= thlrad_prof_cas(k2) - frac*(thlrad_prof_cas(k2)-thlrad_prof_cas(k1))
     968         w_mod_cas(l)= vitw_prof_cas(k2) - frac*(vitw_prof_cas(k2)-vitw_prof_cas(k1))
     969         omega_mod_cas(l)= omega_prof_cas(k2) - frac*(omega_prof_cas(k2)-omega_prof_cas(k1))
     970         du_mod_cas(l)= du_prof_cas(k2) - frac*(du_prof_cas(k2)-du_prof_cas(k1))
     971         hu_mod_cas(l)= hu_prof_cas(k2) - frac*(hu_prof_cas(k2)-hu_prof_cas(k1))
     972         vu_mod_cas(l)= vu_prof_cas(k2) - frac*(vu_prof_cas(k2)-vu_prof_cas(k1))
     973         dv_mod_cas(l)= dv_prof_cas(k2) - frac*(dv_prof_cas(k2)-dv_prof_cas(k1))
     974         hv_mod_cas(l)= hv_prof_cas(k2) - frac*(hv_prof_cas(k2)-hv_prof_cas(k1))
     975         vv_mod_cas(l)= vv_prof_cas(k2) - frac*(vv_prof_cas(k2)-vv_prof_cas(k1))
     976         dt_mod_cas(l)= dt_prof_cas(k2) - frac*(dt_prof_cas(k2)-dt_prof_cas(k1))
     977         ht_mod_cas(l)= ht_prof_cas(k2) - frac*(ht_prof_cas(k2)-ht_prof_cas(k1))
     978         vt_mod_cas(l)= vt_prof_cas(k2) - frac*(vt_prof_cas(k2)-vt_prof_cas(k1))
     979         dth_mod_cas(l)= dth_prof_cas(k2) - frac*(dth_prof_cas(k2)-dth_prof_cas(k1))
     980         hth_mod_cas(l)= hth_prof_cas(k2) - frac*(hth_prof_cas(k2)-hth_prof_cas(k1))
     981         vth_mod_cas(l)= vth_prof_cas(k2) - frac*(vth_prof_cas(k2)-vth_prof_cas(k1))
     982         dq_mod_cas(l)= dq_prof_cas(k2) - frac*(dq_prof_cas(k2)-dq_prof_cas(k1))
     983         hq_mod_cas(l)= hq_prof_cas(k2) - frac*(hq_prof_cas(k2)-hq_prof_cas(k1))
     984         vq_mod_cas(l)= vq_prof_cas(k2) - frac*(vq_prof_cas(k2)-vq_prof_cas(k1))
     985         dtrad_mod_cas(l)= dtrad_prof_cas(k2) - frac*(dtrad_prof_cas(k2)-dtrad_prof_cas(k1))
    951986     
    952987         else !play>plev_prof_cas(1)
     
    954989         k1=1
    955990         k2=2
    956          print *,'interp_vert, k1,k2=',plev_prof_cas(k1),plev_prof_cas(k2)
     991         print *,'interp2_vert, k1,k2=',plev_prof_cas(k1),plev_prof_cas(k2)
    957992         frac1 = (play(l)-plev_prof_cas(k2))/(plev_prof_cas(k1)-plev_prof_cas(k2))
    958993         frac2 = (play(l)-plev_prof_cas(k1))/(plev_prof_cas(k1)-plev_prof_cas(k2))
    959994         t_mod_cas(l)= frac1*t_prof_cas(k1) - frac2*t_prof_cas(k2)
    960          th_mod_cas(l)= frac1*th_prof_cas(k1) - frac2*th_prof_cas(k2)
    961          if(th_mod_cas(l).NE.0) t_mod_cas(l)= th_mod_cas(l)*(play(l)/100000.)**(RD/RCPD)
     995         theta_mod_cas(l)= frac1*th_prof_cas(k1) - frac2*th_prof_cas(k2)
     996         if(theta_mod_cas(l).NE.0) t_mod_cas(l)= theta_mod_cas(l)*(play(l)/100000.)**(RD/RCPD)
     997         thv_mod_cas(l)= frac1*thv_prof_cas(k1) - frac2*thv_prof_cas(k2)
    962998         thl_mod_cas(l)= frac1*thl_prof_cas(k1) - frac2*thl_prof_cas(k2)
    963          qt_mod_cas(l)= frac1*qt_prof_cas(k1) - frac2*qt_prof_cas(k2)
    964999         qv_mod_cas(l)= frac1*qv_prof_cas(k1) - frac2*qv_prof_cas(k2)
    9651000         ql_mod_cas(l)= frac1*ql_prof_cas(k1) - frac2*ql_prof_cas(k2)
    9661001         qi_mod_cas(l)= frac1*qi_prof_cas(k1) - frac2*qi_prof_cas(k2)
    967          rt_mod_cas(l)= frac1*rt_prof_cas(k1) - frac2*rt_prof_cas(k2)
    968          rv_mod_cas(l)= frac1*rv_prof_cas(k1) - frac2*rv_prof_cas(k2)
    969          rl_mod_cas(l)= frac1*rl_prof_cas(k1) - frac2*rl_prof_cas(k2)
    970          ri_mod_cas(l)= frac1*ri_prof_cas(k1) - frac2*ri_prof_cas(k2)
    971          rh_mod_cas(l)= frac1*rh_prof_cas(k1) - frac2*rh_prof_cas(k2)
    9721002         u_mod_cas(l)= frac1*u_prof_cas(k1) - frac2*u_prof_cas(k2)
    9731003         v_mod_cas(l)= frac1*v_prof_cas(k1) - frac2*v_prof_cas(k2)
    974          w_mod_cas(l)= frac1*w_prof_cas(k1) - frac2*w_prof_cas(k2)
    975          omega_mod_cas(l)= frac1*omega_prof_cas(k1) - frac2*omega_prof_cas(k2)
    9761004         ug_mod_cas(l)= frac1*ug_prof_cas(k1) - frac2*ug_prof_cas(k2)
    9771005         vg_mod_cas(l)= frac1*vg_prof_cas(k1) - frac2*vg_prof_cas(k2)
    9781006         temp_nudg_mod_cas(l)= frac1*temp_nudg_prof_cas(k1) - frac2*temp_nudg_prof_cas(k2)
    979          th_nudg_mod_cas(l)= frac1*th_nudg_prof_cas(k1) - frac2*th_nudg_prof_cas(k2)
    980          thl_nudg_mod_cas(l)= frac1*thl_nudg_prof_cas(k1) - frac2*thl_nudg_prof_cas(k2)
    981          qt_nudg_mod_cas(l)= frac1*qt_nudg_prof_cas(k1) - frac2*qt_nudg_prof_cas(k2)
    9821007         qv_nudg_mod_cas(l)= frac1*qv_nudg_prof_cas(k1) - frac2*qv_nudg_prof_cas(k2)
    983          rt_nudg_mod_cas(l)= frac1*rt_nudg_prof_cas(k1) - frac2*rt_nudg_prof_cas(k2)
    984          rv_nudg_mod_cas(l)= frac1*rv_nudg_prof_cas(k1) - frac2*rv_nudg_prof_cas(k2)
    9851008         u_nudg_mod_cas(l)= frac1*u_nudg_prof_cas(k1) - frac2*u_nudg_prof_cas(k2)
    9861009         v_nudg_mod_cas(l)= frac1*v_nudg_prof_cas(k1) - frac2*v_nudg_prof_cas(k2)
    987          uadv_mod_cas(l)= frac1*uadv_prof_cas(k1) - frac2*uadv_prof_cas(k2)
    988          vadv_mod_cas(l)= frac1*vadv_prof_cas(k1) - frac2*vadv_prof_cas(k2)
    989          tadv_mod_cas(l)= frac1*tadv_prof_cas(k1) - frac2*tadv_prof_cas(k2)
    990          thadv_mod_cas(l)= frac1*thadv_prof_cas(k1) - frac2*thadv_prof_cas(k2)
    991          thladv_mod_cas(l)= frac1*thladv_prof_cas(k1) - frac2*thladv_prof_cas(k2)
    992          qtadv_mod_cas(l)= frac1*qtadv_prof_cas(k1) - frac2*qtadv_prof_cas(k2)
    993          qvadv_mod_cas(l)= frac1*qvadv_prof_cas(k1) - frac2*qvadv_prof_cas(k2)
    994          rtadv_mod_cas(l)= frac1*rtadv_prof_cas(k1) - frac2*rtadv_prof_cas(k2)
    995          rvadv_mod_cas(l)= frac1*rvadv_prof_cas(k1) - frac2*rvadv_prof_cas(k2)
    996          trad_mod_cas(l)= frac1*trad_prof_cas(k1) - frac2*trad_prof_cas(k2)
    997          thrad_mod_cas(l)= frac1*thrad_prof_cas(k1) - frac2*thrad_prof_cas(k2)
    998          thlrad_mod_cas(l)= frac1*thlrad_prof_cas(k1) - frac2*thlrad_prof_cas(k2)
     1010         w_mod_cas(l)= frac1*vitw_prof_cas(k1) - frac2*vitw_prof_cas(k2)
     1011         omega_mod_cas(l)= frac1*omega_prof_cas(k1) - frac2*omega_prof_cas(k2)
     1012         du_mod_cas(l)= frac1*du_prof_cas(k1) - frac2*du_prof_cas(k2)
     1013         hu_mod_cas(l)= frac1*hu_prof_cas(k1) - frac2*hu_prof_cas(k2)
     1014         vu_mod_cas(l)= frac1*vu_prof_cas(k1) - frac2*vu_prof_cas(k2)
     1015         dv_mod_cas(l)= frac1*dv_prof_cas(k1) - frac2*dv_prof_cas(k2)
     1016         hv_mod_cas(l)= frac1*hv_prof_cas(k1) - frac2*hv_prof_cas(k2)
     1017         vv_mod_cas(l)= frac1*vv_prof_cas(k1) - frac2*vv_prof_cas(k2)
     1018         dt_mod_cas(l)= frac1*dt_prof_cas(k1) - frac2*dt_prof_cas(k2)
     1019         ht_mod_cas(l)= frac1*ht_prof_cas(k1) - frac2*ht_prof_cas(k2)
     1020         vt_mod_cas(l)= frac1*vt_prof_cas(k1) - frac2*vt_prof_cas(k2)
     1021         dth_mod_cas(l)= frac1*dth_prof_cas(k1) - frac2*dth_prof_cas(k2)
     1022         hth_mod_cas(l)= frac1*hth_prof_cas(k1) - frac2*hth_prof_cas(k2)
     1023         vth_mod_cas(l)= frac1*vth_prof_cas(k1) - frac2*vth_prof_cas(k2)
     1024         dq_mod_cas(l)= frac1*dq_prof_cas(k1) - frac2*dq_prof_cas(k2)
     1025         hq_mod_cas(l)= frac1*hq_prof_cas(k1) - frac2*hq_prof_cas(k2)
     1026         vq_mod_cas(l)= frac1*vq_prof_cas(k1) - frac2*vq_prof_cas(k2)
     1027         dtrad_mod_cas(l)= frac1*dtrad_prof_cas(k1) - frac2*dtrad_prof_cas(k2)
    9991028
    10001029         endif ! play.le.plev_prof_cas(1)
     
    10071036         fact = exp(-fact)                                             !jyg
    10081037         t_mod_cas(l)= t_prof_cas(nlev_cas)                            !jyg
    1009          th_mod_cas(l)= th_prof_cas(nlev_cas)                       !jyg
     1038         theta_mod_cas(l)= th_prof_cas(nlev_cas)                       !jyg
     1039         thv_mod_cas(l)= thv_prof_cas(nlev_cas)                        !jyg
    10101040         thl_mod_cas(l)= thl_prof_cas(nlev_cas)                        !jyg
    1011          qt_mod_cas(l)= qt_prof_cas(nlev_cas)*fact                     !jyg
    10121041         qv_mod_cas(l)= qv_prof_cas(nlev_cas)*fact                     !jyg
    10131042         ql_mod_cas(l)= ql_prof_cas(nlev_cas)*fact                     !jyg
    10141043         qi_mod_cas(l)= qi_prof_cas(nlev_cas)*fact                     !jyg
    1015          rt_mod_cas(l)= rt_prof_cas(nlev_cas)*fact                     !jyg
    1016          rv_mod_cas(l)= rv_prof_cas(nlev_cas)*fact                     !jyg
    1017          rl_mod_cas(l)= rl_prof_cas(nlev_cas)*fact                     !jyg
    1018          ri_mod_cas(l)= ri_prof_cas(nlev_cas)*fact                     !jyg
    1019          rh_mod_cas(l)= rh_prof_cas(nlev_cas)*fact                     !jyg
    10201044         u_mod_cas(l)= u_prof_cas(nlev_cas)*fact                       !jyg
    10211045         v_mod_cas(l)= v_prof_cas(nlev_cas)*fact                       !jyg
    1022          w_mod_cas(l)= 0.0                                             !jyg
    1023          omega_mod_cas(l)= 0.0                                         !jyg
    10241046         ug_mod_cas(l)= ug_prof_cas(nlev_cas)                          !jyg
    10251047         vg_mod_cas(l)= vg_prof_cas(nlev_cas)                          !jyg
    10261048         temp_nudg_mod_cas(l)= temp_nudg_prof_cas(nlev_cas)            !jyg
    1027          th_nudg_mod_cas(l)= th_nudg_prof_cas(nlev_cas)            !jyg
    1028          thl_nudg_mod_cas(l)= thl_nudg_prof_cas(nlev_cas)            !jyg
    1029          qt_nudg_mod_cas(l)= qt_nudg_prof_cas(nlev_cas)                !jyg
    10301049         qv_nudg_mod_cas(l)= qv_nudg_prof_cas(nlev_cas)                !jyg
    1031          rt_nudg_mod_cas(l)= rt_nudg_prof_cas(nlev_cas)                !jyg
    1032          rv_nudg_mod_cas(l)= rv_nudg_prof_cas(nlev_cas)                !jyg
    10331050         u_nudg_mod_cas(l)= u_nudg_prof_cas(nlev_cas)                  !jyg
    10341051         v_nudg_mod_cas(l)= v_nudg_prof_cas(nlev_cas)                  !jyg
    1035          uadv_mod_cas(l)= uadv_prof_cas(nlev_cas)                  !jyg
    1036          vadv_mod_cas(l)= vadv_prof_cas(nlev_cas)                  !jyg
    1037          tadv_mod_cas(l)= tadv_prof_cas(nlev_cas)                  !jyg
    1038          thadv_mod_cas(l)= thadv_prof_cas(nlev_cas)                  !jyg
    1039          thladv_mod_cas(l)= thladv_prof_cas(nlev_cas)                  !jyg
    1040          qtadv_mod_cas(l)= qtadv_prof_cas(nlev_cas)                  !jyg
    1041          qvadv_mod_cas(l)= qvadv_prof_cas(nlev_cas)                  !jyg
    1042          rtadv_mod_cas(l)= rtadv_prof_cas(nlev_cas)                  !jyg
    1043          rvadv_mod_cas(l)= rvadv_prof_cas(nlev_cas)                  !jyg
    1044          trad_mod_cas(l)= trad_prof_cas(nlev_cas)*fact               !jyg
    1045          thrad_mod_cas(l)= thrad_prof_cas(nlev_cas)*fact               !jyg
    1046          thlrad_mod_cas(l)= thlrad_prof_cas(nlev_cas)*fact               !jyg
     1052         thv_mod_cas(l)= thv_prof_cas(nlev_cas)                        !jyg
     1053         w_mod_cas(l)= 0.0                                             !jyg
     1054         omega_mod_cas(l)= 0.0                                         !jyg
     1055         du_mod_cas(l)= du_prof_cas(nlev_cas)*fact
     1056         hu_mod_cas(l)= hu_prof_cas(nlev_cas)*fact                     !jyg
     1057         vu_mod_cas(l)= vu_prof_cas(nlev_cas)*fact                     !jyg
     1058         dv_mod_cas(l)= dv_prof_cas(nlev_cas)*fact
     1059         hv_mod_cas(l)= hv_prof_cas(nlev_cas)*fact                     !jyg
     1060         vv_mod_cas(l)= vv_prof_cas(nlev_cas)*fact                     !jyg
     1061         dt_mod_cas(l)= dt_prof_cas(nlev_cas)
     1062         ht_mod_cas(l)= ht_prof_cas(nlev_cas)                          !jyg
     1063         vt_mod_cas(l)= vt_prof_cas(nlev_cas)                          !jyg
     1064         dth_mod_cas(l)= dth_prof_cas(nlev_cas)
     1065         hth_mod_cas(l)= hth_prof_cas(nlev_cas)                        !jyg
     1066         vth_mod_cas(l)= vth_prof_cas(nlev_cas)                        !jyg
     1067         dq_mod_cas(l)= dq_prof_cas(nlev_cas)*fact
     1068         hq_mod_cas(l)= hq_prof_cas(nlev_cas)*fact                     !jyg
     1069         vq_mod_cas(l)= vq_prof_cas(nlev_cas)*fact                     !jyg
     1070         dtrad_mod_cas(l)= dtrad_prof_cas(nlev_cas)*fact               !jyg
    10471071 
    10481072        endif ! play
     
    10511075
    10521076          return
    1053           end SUBROUTINE interp_case_vertical_std
     1077          end SUBROUTINE interp2_case_vertical_std
    10541078!*****************************************************************************
    10551079
  • LMDZ6/trunk/libf/phylmd/dyn1d/scm.F90

    r3680 r3686  
    4949!#include "indicesol.h"
    5050
    51 #include "compar1d_std.h"
     51#include "compar1d.h"
    5252#include "flux_arp.h"
    5353#include "date_cas.h"
     
    291291!---------------------------------------------------------------------
    292292!Al1
    293         call conf_unicol_std
     293        call conf_unicol
    294294!Al1 moves this gcssold var from common fcg_gcssold to
    295295        Turb_fcg_gcssold = xTurb_fcg_gcssold
     
    10331033         IF ( play(l) < p_nudging_v .AND. nint(nudging_v) /= 0 ) &
    10341034             & d_v_nudge(l)=(v_nudg_mod_cas(l)-v(l))/nudging_v
    1035          IF ( play(l) < p_nudging_temp .AND. nint(nudging_temp) /= 0 ) &
    1036              & d_t_nudge(l)=(temp_nudg_mod_cas(l)-temp(l))/nudging_temp
     1035         IF ( play(l) < p_nudging_t .AND. nint(nudging_t) /= 0 ) &
     1036             & d_t_nudge(l)=(temp_nudg_mod_cas(l)-temp(l))/nudging_t
    10371037         IF ( play(l) < p_nudging_qv .AND. nint(nudging_qv) /= 0 ) &
    10381038             & d_q_nudge(l,1)=(qv_nudg_mod_cas(l)-q(l,1))/nudging_qv
    1039          IF ((adv_temp.eq.1) .and. (forc_w.eq.0)) then
    1040            d_t_adv(l)=alpha*omega(l)/rcpd+dt_mod_cas(l)
    1041          ELSE IF ((adv_temp.eq.1) .and. (forc_w.eq.1)) then
    1042            d_t_adv(l)=alpha*omega(l)/rcpd+ht_mod_cas(l)-d_t_dyn_z(l)
    1043          ENDIF
    1044 
    10451039      ENDDO
    10461040
Note: See TracChangeset for help on using the changeset viewer.