Changeset 1090 for LMDZ4/branches/LMDZ4-dev/libf/phylmd/calcul_STDlev.h
- Timestamp:
- Feb 3, 2009, 11:21:09 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/phylmd/calcul_STDlev.h
r684 r1090 56 56 cIM on interpole sur les niveaux STD de pression a chaque pas de temps de la physique 57 57 c 58 DO k=1, nlevSTD 59 c 60 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 61 . t_seri,tlevSTD(:,k)) 62 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 63 . u_seri,ulevSTD(:,k)) 64 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 65 . v_seri,vlevSTD(:,k)) 66 c 58 c-------------------------------------------------------c 59 c positionnement de l'argument logique a .false. c 60 c pour ne pas recalculer deux fois la meme chose ! c 61 c a cet effet un appel a plevel_new a ete deplace c 62 c a la fin de la serie d'appels c 63 c la boucle 'DO k=1, nlevSTD' a ete internalisee c 64 c dans plevel_new, d'ou la creation de cette routine... c 65 c-------------------------------------------------------c 66 c 67 CALL plevel_new(klon,klev,nlevSTD,.true.,pplay,rlevSTD, 68 & t_seri,tlevSTD) 69 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 70 & u_seri,ulevSTD) 71 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 72 & v_seri,vlevSTD) 73 c 74 75 c 76 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 77 & zphi/RG,philevSTD) 78 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 79 & qx(:,:,ivap),qlevSTD) 80 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 81 & zx_rh*100.,rhlevSTD) 82 c 83 DO l=1, klev 84 DO i=1, klon 85 zx_tmp_fi3d(i,l)=u_seri(i,l)*v_seri(i,l) 86 ENDDO !i 87 ENDDO !l 88 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 89 & zx_tmp_fi3d,uvSTD) 90 c 91 DO l=1, klev 92 DO i=1, klon 93 zx_tmp_fi3d(i,l)=v_seri(i,l)*q_seri(i,l) 94 ENDDO !i 95 ENDDO !l 96 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 97 & zx_tmp_fi3d,vqSTD) 98 c 99 DO l=1, klev 100 DO i=1, klon 101 zx_tmp_fi3d(i,l)=v_seri(i,l)*t_seri(i,l) 102 ENDDO !i 103 ENDDO !l 104 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 105 & zx_tmp_fi3d,vTSTD) 106 c 107 DO l=1, klev 108 DO i=1, klon 109 zx_tmp_fi3d(i,l)=omega(i,l)*qx(i,l,ivap) 110 ENDDO !i 111 ENDDO !l 112 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 113 & zx_tmp_fi3d,wqSTD) 114 c 115 DO l=1, klev 116 DO i=1, klon 117 zx_tmp_fi3d(i,l)=v_seri(i,l)*zphi(i,l)/RG 118 ENDDO !i 119 ENDDO !l 120 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 121 & zx_tmp_fi3d,vphiSTD) 122 c 123 DO l=1, klev 124 DO i=1, klon 125 zx_tmp_fi3d(i,l)=omega(i,l)*t_seri(i,l) 126 ENDDO !i 127 ENDDO !l 128 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 129 & zx_tmp_fi3d,wTSTD) 130 c 131 DO l=1, klev 132 DO i=1, klon 133 zx_tmp_fi3d(i,l)=u_seri(i,l)*u_seri(i,l) 134 ENDDO !i 135 ENDDO !l 136 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 137 & zx_tmp_fi3d,u2STD) 138 c 139 DO l=1, klev 140 DO i=1, klon 141 zx_tmp_fi3d(i,l)=v_seri(i,l)*v_seri(i,l) 142 ENDDO !i 143 ENDDO !l 144 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 145 & zx_tmp_fi3d,v2STD) 146 c 147 DO l=1, klev 148 DO i=1, klon 149 zx_tmp_fi3d(i,l)=t_seri(i,l)*t_seri(i,l) 150 ENDDO !i 151 ENDDO !l 152 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 153 & zx_tmp_fi3d,T2STD) 154 155 67 156 DO l=1, klev 68 157 DO i=1, klon … … 70 159 ENDDO !i 71 160 ENDDO !l 72 CALL plevel(klon,klev,.true.,zx_tmp_fi3d,rlevSTD(k), 73 . omega,wlevSTD(:,k)) 74 c 75 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 76 . zphi/RG,philevSTD(:,k)) 77 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 78 . qx(:,:,ivap),qlevSTD(:,k)) 79 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 80 . zx_rh*100.,rhlevSTD(:,k)) 81 c 82 DO l=1, klev 83 DO i=1, klon 84 zx_tmp_fi3d(i,l)=u_seri(i,l)*v_seri(i,l) 85 ENDDO !i 86 ENDDO !l 87 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 88 . zx_tmp_fi3d,uvSTD(:,k)) 89 c 90 DO l=1, klev 91 DO i=1, klon 92 zx_tmp_fi3d(i,l)=v_seri(i,l)*q_seri(i,l) 93 ENDDO !i 94 ENDDO !l 95 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 96 . zx_tmp_fi3d,vqSTD(:,k)) 97 c 98 DO l=1, klev 99 DO i=1, klon 100 zx_tmp_fi3d(i,l)=v_seri(i,l)*t_seri(i,l) 101 ENDDO !i 102 ENDDO !l 103 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 104 . zx_tmp_fi3d,vTSTD(:,k)) 105 c 106 DO l=1, klev 107 DO i=1, klon 108 zx_tmp_fi3d(i,l)=omega(i,l)*qx(i,l,ivap) 109 ENDDO !i 110 ENDDO !l 111 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 112 . zx_tmp_fi3d,wqSTD(:,k)) 113 c 114 DO l=1, klev 115 DO i=1, klon 116 zx_tmp_fi3d(i,l)=v_seri(i,l)*zphi(i,l)/RG 117 ENDDO !i 118 ENDDO !l 119 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 120 . zx_tmp_fi3d,vphiSTD(:,k)) 121 c 122 DO l=1, klev 123 DO i=1, klon 124 zx_tmp_fi3d(i,l)=omega(i,l)*t_seri(i,l) 125 ENDDO !i 126 ENDDO !l 127 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 128 . zx_tmp_fi3d,wTSTD(:,k)) 129 c 130 DO l=1, klev 131 DO i=1, klon 132 zx_tmp_fi3d(i,l)=u_seri(i,l)*u_seri(i,l) 133 ENDDO !i 134 ENDDO !l 135 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 136 . zx_tmp_fi3d,u2STD(:,k)) 137 c 138 DO l=1, klev 139 DO i=1, klon 140 zx_tmp_fi3d(i,l)=v_seri(i,l)*v_seri(i,l) 141 ENDDO !i 142 ENDDO !l 143 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 144 . zx_tmp_fi3d,v2STD(:,k)) 145 c 146 DO l=1, klev 147 DO i=1, klon 148 zx_tmp_fi3d(i,l)=t_seri(i,l)*t_seri(i,l) 149 ENDDO !i 150 ENDDO !l 151 CALL plevel(klon,klev,.true.,pplay,rlevSTD(k), 152 . zx_tmp_fi3d,T2STD(:,k)) 153 c 154 ENDDO !k=1,nlevSTD 161 CALL plevel_new(klon,klev,nlevSTD,.true.,zx_tmp_fi3d,rlevSTD, 162 & omega,wlevSTD) 163 155 164 c 156 165 cIM on somme les valeurs definies a chaque pas de temps de la physique ou
Note: See TracChangeset
for help on using the changeset viewer.