Changeset 1910 for LMDZ5/branches/testing/libf/phylmd/calcul_STDlev.h
- Timestamp:
- Nov 29, 2013, 9:40:25 AM (11 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 1861-1863,1865-1867,1869,1871-1875,1877-1880,1882-1891,1894-1909 -
Property
copyright
set to
Name of program: LMDZ
Creation date: 1984
Version: LMDZ5
License: CeCILL version 2
Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
See the license file in the root directory
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf
-
Property
copyright
set to
Name of program: LMDZ
Creation date: 1984
Version: LMDZ5
License: CeCILL version 2
Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
See the license file in the root directory
-
Property
copyright
set to
-
LMDZ5/branches/testing/libf/phylmd
-
Property
copyright
set to
Name of program: LMDZ
Creation date: 1984
Version: LMDZ5
License: CeCILL version 2
Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
See the license file in the root directory
-
Property
copyright
set to
-
LMDZ5/branches/testing/libf/phylmd/calcul_STDlev.h
-
Property
copyright
set to
Name of program: LMDZ
Creation date: 1984
Version: LMDZ5
License: CeCILL version 2
Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
See the license file in the root directory
r1707 r1910 1 c 2 c$Header$3 c 4 cIM on initialise les variables5 c 1 ! 2 ! $Header$ 3 ! 4 !IM on initialise les variables 5 ! 6 6 missing_val=nf90_fill_real 7 c 8 cIM freq_moyNMC = frequences auxquelles on moyenne les champs accumules9 cIM sur les niveaux de pression standard du NMC7 ! 8 !IM freq_moyNMC = frequences auxquelles on moyenne les champs accumules 9 !IM sur les niveaux de pression standard du NMC 10 10 DO n=1, nout 11 11 freq_moyNMC(n)=freq_outNMC(n)/freq_calNMC(n) 12 12 ENDDO 13 c 13 ! 14 14 CALL ini_undefSTD(itap,freq_outNMC) 15 c 16 cIM on interpole les champs sur les niveaux STD de pression17 cIM a chaque pas de temps de la physique18 c 19 c-------------------------------------------------------c20 cpositionnement de l'argument logique a .false. c21 cpour ne pas recalculer deux fois la meme chose ! c22 ca cet effet un appel a plevel_new a ete deplace c23 ca la fin de la serie d'appels c24 cla boucle 'DO k=1, nlevSTD' a ete internalisee c25 cdans plevel_new, d'ou la creation de cette routine... c26 c-------------------------------------------------------c27 c 28 CALL plevel_new(klon,klev,nlevSTD,.true.,pplay,rlevSTD, 29 &t_seri,tlevSTD)30 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 31 &u_seri,ulevSTD)32 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 33 &v_seri,vlevSTD)34 c 35 36 c 37 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 38 &zphi/RG,philevSTD)39 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 40 &qx(:,:,ivap),qlevSTD)41 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 42 &zx_rh*100.,rhlevSTD)43 c 15 ! 16 !IM on interpole les champs sur les niveaux STD de pression 17 !IM a chaque pas de temps de la physique 18 ! 19 !-------------------------------------------------------c 20 ! positionnement de l'argument logique a .false. c 21 ! pour ne pas recalculer deux fois la meme chose ! c 22 ! a cet effet un appel a plevel_new a ete deplace c 23 ! a la fin de la serie d'appels c 24 ! la boucle 'DO k=1, nlevSTD' a ete internalisee c 25 ! dans plevel_new, d'ou la creation de cette routine... c 26 !-------------------------------------------------------c 27 ! 28 CALL plevel_new(klon,klev,nlevSTD,.true.,pplay,rlevSTD, & 29 t_seri,tlevSTD) 30 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 31 u_seri,ulevSTD) 32 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 33 v_seri,vlevSTD) 34 ! 35 36 ! 37 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 38 zphi/RG,philevSTD) 39 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 40 qx(:,:,ivap),qlevSTD) 41 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 42 zx_rh*100.,rhlevSTD) 43 ! 44 44 DO l=1, klev 45 45 DO i=1, klon … … 47 47 ENDDO !i 48 48 ENDDO !l 49 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 50 &zx_tmp_fi3d,uvSTD)51 c 49 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 50 zx_tmp_fi3d,uvSTD) 51 ! 52 52 DO l=1, klev 53 53 DO i=1, klon … … 55 55 ENDDO !i 56 56 ENDDO !l 57 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 58 &zx_tmp_fi3d,vqSTD)59 c 57 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 58 zx_tmp_fi3d,vqSTD) 59 ! 60 60 DO l=1, klev 61 61 DO i=1, klon … … 63 63 ENDDO !i 64 64 ENDDO !l 65 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 66 &zx_tmp_fi3d,vTSTD)67 c 65 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 66 zx_tmp_fi3d,vTSTD) 67 ! 68 68 DO l=1, klev 69 69 DO i=1, klon … … 71 71 ENDDO !i 72 72 ENDDO !l 73 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 74 &zx_tmp_fi3d,wqSTD)75 c 73 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 74 zx_tmp_fi3d,wqSTD) 75 ! 76 76 DO l=1, klev 77 77 DO i=1, klon … … 79 79 ENDDO !i 80 80 ENDDO !l 81 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 82 &zx_tmp_fi3d,vphiSTD)83 c 81 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 82 zx_tmp_fi3d,vphiSTD) 83 ! 84 84 DO l=1, klev 85 85 DO i=1, klon … … 87 87 ENDDO !i 88 88 ENDDO !l 89 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 90 &zx_tmp_fi3d,wTSTD)91 c 89 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 90 zx_tmp_fi3d,wTSTD) 91 ! 92 92 DO l=1, klev 93 93 DO i=1, klon … … 95 95 ENDDO !i 96 96 ENDDO !l 97 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 98 &zx_tmp_fi3d,u2STD)99 c 97 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 98 zx_tmp_fi3d,u2STD) 99 ! 100 100 DO l=1, klev 101 101 DO i=1, klon … … 103 103 ENDDO !i 104 104 ENDDO !l 105 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 106 &zx_tmp_fi3d,v2STD)107 c 105 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 106 zx_tmp_fi3d,v2STD) 107 ! 108 108 DO l=1, klev 109 109 DO i=1, klon … … 111 111 ENDDO !i 112 112 ENDDO !l 113 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 114 &zx_tmp_fi3d,T2STD)115 116 c 113 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 114 zx_tmp_fi3d,T2STD) 115 116 ! 117 117 zx_tmp_fi3d(:,:)=wo(:,:,1) * dobson_u * 1e3 / zmasse / rmo3 * rmd 118 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 119 &zx_tmp_fi3d,O3STD)120 c 118 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 119 zx_tmp_fi3d,O3STD) 120 ! 121 121 if (read_climoz == 2) THEN 122 122 zx_tmp_fi3d(:,:)=wo(:,:,2) * dobson_u * 1e3 / zmasse / rmo3 * rmd 123 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 124 &zx_tmp_fi3d,O3daySTD)123 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, & 124 zx_tmp_fi3d,O3daySTD) 125 125 endif 126 c 126 ! 127 127 DO l=1, klev 128 128 DO i=1, klon … … 130 130 ENDDO !i 131 131 ENDDO !l 132 CALL plevel_new(klon,klev,nlevSTD,.true.,zx_tmp_fi3d,rlevSTD, 133 &omega,wlevSTD)134 c 135 cIM on somme les valeurs toutes les freq_calNMC secondes136 c 132 CALL plevel_new(klon,klev,nlevSTD,.true.,zx_tmp_fi3d,rlevSTD, & 133 omega,wlevSTD) 134 ! 135 !IM on somme les valeurs toutes les freq_calNMC secondes 136 ! 137 137 CALL undefSTD(itap,freq_calNMC, read_climoz) 138 c 139 cIM on moyenne a la fin du mois ou du jour (toutes les freq_outNMC secondes)140 c 138 ! 139 !IM on moyenne a la fin du mois ou du jour (toutes les freq_outNMC secondes) 140 ! 141 141 CALL moy_undefSTD(itap,freq_outNMC,freq_moyNMC) 142 c 143 CALL plevel(klon,klev,.true.,pplay,50000., 144 &zphi/RG,geo500)145 146 cIM on interpole a chaque pas de temps le SWup(clr) et SWdn(clr) a 200 hPa147 c 148 CALL plevel(klon,klevp1,.true.,paprs,20000., 149 $swdn0,SWdn200clr)150 CALL plevel(klon,klevp1,.false.,paprs,20000., 151 $swdn,SWdn200)152 CALL plevel(klon,klevp1,.false.,paprs,20000., 153 $swup0,SWup200clr)154 CALL plevel(klon,klevp1,.false.,paprs,20000., 155 $swup,SWup200)156 c 157 CALL plevel(klon,klevp1,.false.,paprs,20000., 158 $lwdn0,LWdn200clr)159 CALL plevel(klon,klevp1,.false.,paprs,20000., 160 $lwdn,LWdn200)161 CALL plevel(klon,klevp1,.false.,paprs,20000., 162 $lwup0,LWup200clr)163 CALL plevel(klon,klevp1,.false.,paprs,20000., 164 $lwup,LWup200)165 c 142 ! 143 CALL plevel(klon,klev,.true.,pplay,50000., & 144 zphi/RG,geo500) 145 146 !IM on interpole a chaque pas de temps le SWup(clr) et SWdn(clr) a 200 hPa 147 ! 148 CALL plevel(klon,klevp1,.true.,paprs,20000., & 149 swdn0,SWdn200clr) 150 CALL plevel(klon,klevp1,.false.,paprs,20000., & 151 swdn,SWdn200) 152 CALL plevel(klon,klevp1,.false.,paprs,20000., & 153 swup0,SWup200clr) 154 CALL plevel(klon,klevp1,.false.,paprs,20000., & 155 swup,SWup200) 156 ! 157 CALL plevel(klon,klevp1,.false.,paprs,20000., & 158 lwdn0,LWdn200clr) 159 CALL plevel(klon,klevp1,.false.,paprs,20000., & 160 lwdn,LWdn200) 161 CALL plevel(klon,klevp1,.false.,paprs,20000., & 162 lwup0,LWup200clr) 163 CALL plevel(klon,klevp1,.false.,paprs,20000., & 164 lwup,LWup200) 165 ! 166 166 twriteSTD(:,:,1)=tsumSTD(:,:,1) 167 167 qwriteSTD(:,:,1)=qsumSTD(:,:,1) … … 195 195 vwriteSTD(:,:,4)=vlevSTD(:,:) 196 196 wwriteSTD(:,:,4)=wlevSTD(:,:) 197 c 198 cIM initialisation 5eme fichier de sortie197 ! 198 !IM initialisation 5eme fichier de sortie 199 199 twriteSTD(:,:,5)=tlevSTD(:,:) 200 200 qwriteSTD(:,:,5)=qlevSTD(:,:) … … 204 204 vwriteSTD(:,:,5)=vlevSTD(:,:) 205 205 wwriteSTD(:,:,5)=wlevSTD(:,:) 206 c 207 cIM initialisation 6eme fichier de sortie206 ! 207 !IM initialisation 6eme fichier de sortie 208 208 twriteSTD(:,:,6)=tlevSTD(:,:) 209 209 qwriteSTD(:,:,6)=qlevSTD(:,:) … … 213 213 vwriteSTD(:,:,6)=vlevSTD(:,:) 214 214 wwriteSTD(:,:,6)=wlevSTD(:,:) 215 cIM for NMC files215 !IM for NMC files 216 216 DO n=1, nlevSTD3 217 217 DO k=1, nlevSTD … … 227 227 ENDDO 228 228 ENDDO 229 c 229 ! 230 230 DO n=1, nlevSTD8 231 231 DO k=1, nlevSTD -
Property
copyright
set to
Note: See TracChangeset
for help on using the changeset viewer.