Changeset 5086 for LMDZ6/branches/Amaury_dev/libf/phylmd
- Timestamp:
- Jul 19, 2024, 7:54:50 PM (6 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/phylmd
- Files:
-
- 39 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/Ocean_skin/bulk_flux_m.F90
r3834 r5086 140 140 rain = null_array, qcol = rnl + hf + hlb - dels) 141 141 end if 142 end do142 END DO 143 143 else 144 144 tkt = 0. -
LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/sulfate_aer_mod.F90
r5082 r5086 731 731 JX=0 732 732 ELSE 733 DO 10I=1,N733 DO I=1,N 734 734 IF (X<XC(I)) GO TO 20 735 10 CONTINUE735 END DO 736 736 IER=1 737 737 20 JX=I-1 … … 756 756 JX=0 757 757 ELSE 758 DO 10I=1,N758 DO I=1,N 759 759 IF (XT>X(I)) GO TO 20 760 10 CONTINUE760 END DO 761 761 20 JX=I 762 762 ENDIF -
LMDZ6/branches/Amaury_dev/libf/phylmd/concvl.F90
r4613 r5086 340 340 ! em_wght(k)=wght_th(i,k) 341 341 ! print*,'em_wght=',em_wght(k),wght_th(i,k) 342 ! end do342 ! END DO 343 343 ! END DO 344 344 -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/icarus.F
r5082 r5086 364 364 enddo 365 365 366 do 12ilev=1,nlev366 do ilev=1,nlev 367 367 do j=1,npoints 368 368 if (pfull(j,ilev) < 40000. .and. … … 375 375 end if 376 376 enddo 377 12 continue 378 379 do 13ilev=1,nlev377 END DO 378 379 do ilev=1,nlev 380 380 do j=1,npoints 381 381 if (at(j,ilev) > atmax(j) .and. 382 382 & ilev >= itrop(j)) atmax(j)=at(j,ilev) 383 383 enddo 384 13 continue 384 END DO 385 385 386 386 end if … … 391 391 meantb(j) = 0. 392 392 meantbclr(j) = 0. 393 end do393 END DO 394 394 else 395 395 do j=1,npoints 396 396 meantb(j) = output_missing_value 397 397 meantbclr(j) = output_missing_value 398 end do398 END DO 399 399 end if 400 400 … … 466 466 467 467 !initialize tau and albedocld to zero 468 do 15ibox=1,ncol468 do ibox=1,ncol 469 469 do j=1,npoints 470 470 tau(j,ibox)=0. … … 474 474 box_cloudy(j,ibox)=.false. 475 475 enddo 476 15 continue 476 END DO 477 477 478 478 !compute total cloud optical depth for each column … … 541 541 if (ncolprint /= 0) 542 542 & write(6,*) 'ilev pw (kg/m2) tauwv(j) dem_wv' 543 do 125ilev=1,nlev543 do ilev=1,nlev 544 544 do j=1,npoints 545 545 !press and dpress are dyne/cm2 = Pascals *10 … … 568 568 enddo 569 569 endif 570 125 continue 570 END DO 571 571 572 572 !initialize variables … … 740 740 bb(j)=1/( exp(1307.27/skt(j)) - 1. ) 741 741 !bb(j)=5.67e-8*skt(j)**4 742 end do742 END DO 743 743 744 744 do ibox=1,ncol … … 751 751 & * trans_layers_above(j,ibox) 752 752 753 end do754 end do753 END DO 754 END DO 755 755 756 756 !calculate mean infrared brightness temperature … … 758 758 do j=1,npoints 759 759 meantb(j) = meantb(j)+1307.27/(log(1.+(1./fluxtop(j,ibox)))) 760 end do761 end do760 END DO 761 END DO 762 762 do j=1, npoints 763 763 meantb(j) = meantb(j) / real(ncol) 764 end do764 END DO 765 765 766 766 if (ncolprint/=0) then … … 784 784 write (6,'(8f7.2)') (meantb(j),ibox=1,ncolprint) 785 785 786 end do786 END DO 787 787 endif 788 788 … … 925 925 926 926 !compute cloud top pressure 927 do 30ibox=1,ncol927 do ibox=1,ncol 928 928 !segregate according to optical thickness 929 929 if (top_height == 1 .or. top_height == 3) then … … 933 933 nmatch(j)=0 934 934 enddo 935 do 29k1=1,nlev-1935 do k1=1,nlev-1 936 936 if (top_height_direction == 2) then 937 937 ilev = nlev - k1 … … 951 951 end if 952 952 enddo 953 29 continue 953 END DO 954 954 955 955 do j=1,npoints … … 992 992 levmatch(j,ibox)=ilev 993 993 end if 994 end do995 end do994 END DO 995 END DO 996 996 end if 997 997 … … 1003 1003 enddo 1004 1004 1005 30 continue 1005 END DO 1006 1006 1007 1007 ! … … 1032 1032 1033 1033 !reset frequencies 1034 do 38ilev=1,71034 do ilev=1,7 1035 1035 do 38 ilev2=1,7 1036 1036 do j=1,npoints ! … … 1042 1042 enddo 1043 1043 38 continue 1044 END DO 1044 1045 1045 1046 !reset variables need for averaging cloud properties … … 1060 1061 boxarea = 1./real(ncol) 1061 1062 1062 do 39ibox=1,ncol1063 do ibox=1,ncol 1063 1064 do j=1,npoints 1064 1065 … … 1166 1167 1167 1168 enddo ! j 1168 39 continue 1169 END DO 1169 1170 1170 1171 !compute mean cloud properties … … 1227 1228 & (cchar_realtops(acc(ilev,ibox)+1),ilev=1,nlev) 1228 1229 & ,(cchar(acc(ilev,ibox)+1),ilev=1,nlev) 1229 end do1230 END DO 1230 1231 close(9) 1231 1232 -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/math_lib.F90
r5082 r5086 273 273 exit 274 274 end if 275 end do275 END DO 276 276 277 277 if (lerror) then … … 316 316 end if 317 317 ilo = ilo + 1 318 end do318 END DO 319 319 320 320 ilo = max ( 2, ilo ) … … 326 326 end if 327 327 ihi = ihi - 1 328 end do328 END DO 329 329 330 330 ihi = min ( ihi, ntab - 1 ) … … 374 374 syl = x2 375 375 376 end do376 END DO 377 377 378 378 result = sum1 & -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/mod_cosp_modis_simulator.F90
r3233 r5086 176 176 opticalThickness(i, j, k) = 0. 177 177 end if 178 end do179 end do180 end do178 END DO 179 END DO 180 END DO 181 181 182 182 ! … … 197 197 do i = 1, nSunlit 198 198 if(subCols%frac_out(sunlit(i), j, k) == I_CVC) opticalThickness(i, j, k) = gridBox%dtau_c(sunlit(i), k) 199 end do200 end do201 end do199 END DO 200 END DO 201 END DO 202 202 203 203 ! … … 220 220 retrievedPhase(i, :), retrievedCloudTopPressure(i, :), & 221 221 retrievedTau(i, :), retrievedSize(i, :)) 222 end do222 END DO 223 223 224 224 ! DJS2015: Call L3 modis simulator used by cospv2.0 -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/mod_modis_sim.F90
r5082 r5086 331 331 retrievedTau(i) = R_UNDEF 332 332 end if 333 end do333 END DO 334 334 where((retrievedSize(:) < 0.).and.(retrievedSize(:) /= R_UNDEF)) retrievedSize(:) = 1.0e-06*re_fill 335 335 … … 802 802 tauMask(:, :, i) = .false. 803 803 end where 804 end do804 END DO 805 805 806 806 do i = 1, numPressureHistogramBins … … 811 811 pressureMask(:, :, i) = .false. 812 812 end where 813 end do813 END DO 814 814 815 815 do i = 1, numPressureHistogramBins … … 817 817 Optical_Thickness_vs_Cloud_Top_Pressure(:, j, i) = & 818 818 real(count(tauMask(:, :, j) .and. pressureMask(:, :, i), dim = 2)) / real(nSubcols) 819 end do820 end do819 END DO 820 END DO 821 821 822 822 end subroutine modis_L3_simulator … … 851 851 end if 852 852 if(totalTau >= tauLimit) exit 853 end do853 END DO 854 854 cloud_top_pressure = totalProduct/totalTau 855 855 end function cloud_top_pressure … … 877 877 end if 878 878 if(totalTau >= tauLimit) exit 879 end do879 END DO 880 880 weight_by_extinction = totalProduct/totalTau 881 881 end function weight_by_extinction … … 1114 1114 do i = 1, size(cloudIndicies) 1115 1115 call two_stream(tau(cloudIndicies(i)), g(cloudIndicies(i)), w0(cloudIndicies(i)), Refl(i), Trans(i)) 1116 end do1116 END DO 1117 1117 1118 1118 call adding_doubling(Refl(:), Trans(:), Refl_tot, Trans_tot) … … 1292 1292 Refl_cumulative(i) = Refl_cumulative(i-1) + Refl(i)*(Tran_cumulative(i-1)**2)/(1 - Refl_cumulative(i-1) * Refl(i)) 1293 1293 Tran_cumulative(i) = (Tran_cumulative(i-1)*Tran(i)) / (1 - Refl_cumulative(i-1) * Refl(i)) 1294 end do1294 END DO 1295 1295 1296 1296 Refl_tot = Refl_cumulative(size(Refl)) -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/optics_lib.F90
r5081 r5086 519 519 520 520 ! // region from 0.045 microns to 167.0 microns - no temperature depend 521 do i=2,nwl522 if(alam < wl(i)) continue523 enddo524 521 x1=log(wl(i-1)) 525 522 x2=log(wl(i)) … … 539 536 if(tk > temref(1)) tk=temref(1) 540 537 if(tk < temref(4)) tk=temref(4) 541 do 11i=2,4538 do i=2,4 542 539 if(tk>=temref(i)) go to 12 543 11 continue540 END DO 544 541 12 lt1=i 545 542 lt2=i-1 546 do 13i=2,nwlt543 do i=2,nwlt 547 544 if(alam<=wlt(i)) go to 14 548 13 continue545 END DO 549 546 14 x1=log(wlt(i-1)) 550 547 x2=log(wlt(i)) -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/scops.F
r5082 r5086 161 161 162 162 !loop over vertical levels 163 DO 200ilev = 1,nlev163 DO ilev = 1,nlev 164 164 165 165 ! Initialise threshold … … 331 331 endif 332 332 333 200 CONTINUE!loop over nlev333 END DO !loop over nlev 334 334 335 335 -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/zeff.F90
r5082 r5086 113 113 call mieint(sizep(i), m0(i), one, dqv, qext(i), dqsc, qbsca(i), & 114 114 dg, xs1, xs2, dph, err) 115 end do115 END DO 116 116 117 117 else -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp2/cosp.F90
r5082 r5086 731 731 modisRetrievedCloudTopPressure(i,:), & 732 732 modisRetrievedTau(i,:),modisRetrievedSize(i,:)) 733 end do733 END DO 734 734 endif 735 735 endif -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp2/icarus.F90
r5082 r5086 155 155 (cchar_realtops(acc(ilev,ibox)+1),ilev=1,nlev),& 156 156 (cchar(acc(ilev,ibox)+1),ilev=1,nlev) 157 end do157 END DO 158 158 close(9) 159 159 … … 322 322 do ibox=1,ncol 323 323 fluxtop(1:npoints,ibox) = fluxtop(1:npoints,ibox) + emsfc_lw*bb(1:npoints)*trans_layers_above(1:npoints,ibox) 324 end do324 END DO 325 325 326 326 ! All Sky brightness temperature … … 445 445 levmatch(1:npoints,ibox)=ilev 446 446 endwhere 447 end do447 END DO 448 448 end if 449 449 where(tau(1:npoints,ibox) <= tauchk) -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp2/math_lib.F90
r3358 r5086 209 209 exit 210 210 end if 211 end do211 END DO 212 212 213 213 if (lerror) then … … 244 244 end if 245 245 ilo = ilo + 1 246 end do246 END DO 247 247 248 248 ilo = max ( 2, ilo ) … … 254 254 end if 255 255 ihi = ihi - 1 256 end do256 END DO 257 257 258 258 ihi = min ( ihi, ntab - 1 ) … … 305 305 syl = x2 306 306 307 end do307 END DO 308 308 309 309 result = sum1 + ca * ( b**3 - syl**3 ) / 3._wp & -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp2/modis_simulator.F90
r3358 r5086 222 222 retrievedTau(i) = R_UNDEF 223 223 end if 224 end do224 END DO 225 225 where((retrievedSize(1:nSubCols) < 0.).and.(retrievedSize(1:nSubCols) /= R_UNDEF)) & 226 226 retrievedSize(1:nSubCols) = 1.0e-06_wp*re_fill … … 455 455 end if 456 456 if(totalTau >= tauLimit) exit 457 end do457 END DO 458 458 459 459 if (totalTau > 0._wp) then … … 489 489 end if 490 490 if(totalTau >= tauLimit) exit 491 end do491 END DO 492 492 493 493 if (totalTau > 0._wp) then … … 715 715 do i = 1, size(cloudIndicies) 716 716 call two_stream(tau(cloudIndicies(i)), g(cloudIndicies(i)), w0(cloudIndicies(i)), Refl(i), Trans(i)) 717 end do717 END DO 718 718 719 719 call adding_doubling(count(tau(1:nLevels) > 0),Refl(:), Trans(:), Refl_tot, Trans_tot) … … 897 897 Refl_cumulative(i) = Refl_cumulative(i-1) + Refl(i)*(Tran_cumulative(i-1)**2)/(1._wp - Refl_cumulative(i-1) * Refl(i)) 898 898 Tran_cumulative(i) = (Tran_cumulative(i-1)*Tran(i)) / (1._wp - Refl_cumulative(i-1) * Refl(i)) 899 end do899 END DO 900 900 901 901 Refl_tot = Refl_cumulative(size(Refl)) -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp2/optics_lib.F90
r5082 r5086 539 539 if (alam < cutice) then 540 540 ! Region from 0.045 microns to 167.0 microns - no temperature depend 541 do i=2,nwl542 if(alam < wl(i)) continue543 enddo544 541 x1 = log(wl(i-1)) 545 542 x2 = log(wl(i)) -
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp2/quickbeam_optics.F90
r5082 r5086 1009 1009 call mieint(sizep(i), m0(i), one, dqv, qext(i), dqsc, qbsca(i), & 1010 1010 dg, xs1, xs2, dph, err) 1011 end do1011 END DO 1012 1012 1013 1013 else -
LMDZ6/branches/Amaury_dev/libf/phylmd/cospv2/cosp.F90
r5082 r5086 886 886 modisRetrievedCloudTopPressure(i,:), & 887 887 modisRetrievedTau(i,:),modisRetrievedSize(i,:)) 888 end do888 END DO 889 889 endif 890 890 endif -
LMDZ6/branches/Amaury_dev/libf/phylmd/cospv2/icarus.F90
r5082 r5086 155 155 (cchar_realtops(acc(ilev,ibox)+1),ilev=1,nlev),& 156 156 (cchar(acc(ilev,ibox)+1),ilev=1,nlev) 157 end do157 END DO 158 158 close(9) 159 159 … … 322 322 do ibox=1,ncol 323 323 fluxtop(1:npoints,ibox) = fluxtop(1:npoints,ibox) + emsfc_lw*bb(1:npoints)*trans_layers_above(1:npoints,ibox) 324 end do324 END DO 325 325 326 326 ! All Sky brightness temperature … … 445 445 levmatch(1:npoints,ibox)=ilev 446 446 endwhere 447 end do447 END DO 448 448 end if 449 449 where(tau(1:npoints,ibox) <= tauchk) -
LMDZ6/branches/Amaury_dev/libf/phylmd/cospv2/lmdz_cosp_subsample_and_optics_mod.F90
r5082 r5086 365 365 endif 366 366 cospIN%g_vol_cloudsat(i,:,j)=g_vol(i,j) 367 end do368 end do367 END DO 368 END DO 369 369 370 370 ! Loop over all subcolumns -
LMDZ6/branches/Amaury_dev/libf/phylmd/cospv2/math_lib.F90
r3491 r5086 209 209 exit 210 210 end if 211 end do211 END DO 212 212 213 213 if (lerror) then … … 244 244 end if 245 245 ilo = ilo + 1 246 end do246 END DO 247 247 248 248 ilo = max ( 2, ilo ) … … 254 254 end if 255 255 ihi = ihi - 1 256 end do256 END DO 257 257 258 258 ihi = min ( ihi, ntab - 1 ) … … 305 305 syl = x2 306 306 307 end do307 END DO 308 308 309 309 result = sum1 + ca * ( b**3 - syl**3 ) / 3._wp & -
LMDZ6/branches/Amaury_dev/libf/phylmd/cospv2/modis_simulator.F90
r3491 r5086 222 222 retrievedTau(i) = R_UNDEF 223 223 end if 224 end do224 END DO 225 225 where((retrievedSize(1:nSubCols) < 0.).and.(retrievedSize(1:nSubCols) /= R_UNDEF)) & 226 226 retrievedSize(1:nSubCols) = 1.0e-06_wp*re_fill … … 455 455 end if 456 456 if(totalTau >= tauLimit) exit 457 end do457 END DO 458 458 459 459 if (totalTau > 0._wp) then … … 489 489 end if 490 490 if(totalTau >= tauLimit) exit 491 end do491 END DO 492 492 493 493 if (totalTau > 0._wp) then … … 715 715 do i = 1, size(cloudIndicies) 716 716 call two_stream(tau(cloudIndicies(i)), g(cloudIndicies(i)), w0(cloudIndicies(i)), Refl(i), Trans(i)) 717 end do717 END DO 718 718 719 719 call adding_doubling(count(tau(1:nLevels) > 0),Refl(:), Trans(:), Refl_tot, Trans_tot) … … 897 897 Refl_cumulative(i) = Refl_cumulative(i-1) + Refl(i)*(Tran_cumulative(i-1)**2)/(1._wp - Refl_cumulative(i-1) * Refl(i)) 898 898 Tran_cumulative(i) = (Tran_cumulative(i-1)*Tran(i)) / (1._wp - Refl_cumulative(i-1) * Refl(i)) 899 end do899 END DO 900 900 901 901 Refl_tot = Refl_cumulative(size(Refl)) -
LMDZ6/branches/Amaury_dev/libf/phylmd/cospv2/optics_lib.F90
r5081 r5086 539 539 if (alam < cutice) then 540 540 ! Region from 0.045 microns to 167.0 microns - no temperature depend 541 do i=2,nwl542 if(alam < wl(i)) continue543 enddo544 541 x1 = log(wl(i-1)) 545 542 x2 = log(wl(i)) -
LMDZ6/branches/Amaury_dev/libf/phylmd/cospv2/quickbeam_optics.F90
r5081 r5086 983 983 call mieint(sizep(i), m0(i), one, dqv, qext(i), dqsc, qbsca(i), & 984 984 dg, xs1, xs2, dph, err) 985 end do985 END DO 986 986 987 987 else -
LMDZ6/branches/Amaury_dev/libf/phylmd/cv30_routines.F90
r5082 r5086 1548 1548 ! !!! traent(il,i,j,k)=sij(il,i,j)*tra(il,i,k) 1549 1549 ! !!! : +(1.-sij(il,i,j))*tra(il,nk(il),k) 1550 ! !!! end do1550 ! !!! END DO 1551 1551 elij(il, i, j) = altem 1552 1552 elij(il, i, j) = amax1(0.0, elij(il,i,j)) … … 2144 2144 ! : +tra(il,i,j)*(mp(il,i)-mp(il,i+1)) 2145 2145 ! trap(il,i,j)=trap(il,i,j)/mp(il,i) 2146 ! end do2146 ! END DO 2147 2147 2148 2148 ELSE … … 2161 2161 ! do j=1,ntra 2162 2162 ! trap(il,i,j)=trap(il,i+1,j) 2163 ! end do2163 ! END DO 2164 2164 2165 2165 END IF -
LMDZ6/branches/Amaury_dev/libf/phylmd/cv3_routines.F90
r5082 r5086 2431 2431 !!!! traent(il,i,j,k)=sij(il,i,j)*tra(il,i,k) 2432 2432 !!!! : +(1.-sij(il,i,j))*tra(il,nk(il),k) 2433 !!!! end do2433 !!!! END DO 2434 2434 elij(il, i, j) = altem 2435 2435 elij(il, i, j) = max(0.0, elij(il,i,j)) … … 3424 3424 !AC! endif ! (i.lt.inb(il) .and. lwork(il)) 3425 3425 !AC! enddo 3426 !AC! end do3426 !AC! END DO 3427 3427 3428 3428 400 END DO -
LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/old_1DUTILS_read_interp.h
r5075 r5086 2010 2010 read (ilesfile,*) height(k),ugprof(k),vgprof(k),wfls(k), & 2011 2011 & dqtdxls(k),dqtdyls(k),dqtdtls(k),thlpcar(k) 2012 end do2012 END DO 2013 2013 do k=1,kmax 2014 2014 if (height(k) .ne. height1(k)) then … … 2017 2017 stop 2018 2018 endif 2019 end do2019 END DO 2020 2020 close(ilesfile) 2021 2021 … … 2035 2035 do k=1,kmax 2036 2036 read (ilesfile,*) height(k),(tracer(k,itrac),itrac=nt1,nt2) 2037 end do2037 END DO 2038 2038 close(ilesfile) 2039 2039 endif -
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/surf_inlandsis_mod.F90
r5075 r5086 470 470 depth = depth - dzsnSV(ikl,isl) / 2. 471 471 472 end do472 END DO 473 473 474 474 END DO -
LMDZ6/branches/Amaury_dev/libf/phylmd/isccp_cloud_types.F90
r1992 r5086 1027 1027 ! write (6,'(a)') '100.*f:' 1028 1028 ! write (6,'(8f7.2)') (100.*fluxtop(j,ibox),ibox=1,ncolprint) 1029 ! end do1029 ! END DO 1030 1030 ! endif 1031 1031 … … 1569 1569 ! & (cchar_realtops(acc(ilev,ibox)+1),ilev=1,nlev) 1570 1570 ! & ,(cchar(acc(ilev,ibox)+1),ilev=1,nlev) 1571 ! end do1571 ! END DO 1572 1572 ! close(9) 1573 1573 -
LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_wake.F90
r4908 r5086 1507 1507 ! c do i=1,klon 1508 1508 ! c print*,alpha(i) 1509 ! c end do1509 ! c END DO 1510 1510 ! cc 1511 1511 DO k = 1, klev -
LMDZ6/branches/Amaury_dev/libf/phylmd/o3_chem_m.F90
r4103 r5086 24 24 25 25 integer, intent(in):: julien ! jour julien, 1 <= julien <= 360 26 real, intent(in):: gmtime ! heure de la journ ée en fraction de jour26 real, intent(in):: gmtime ! heure de la journ�e en fraction de jour 27 27 real, intent(in):: t_seri(:, :) ! (klon, nbp_lev) temperature, in K 28 28 … … 59 59 real earth_long 60 60 ! (longitude vraie de la Terre dans son orbite solaire, par 61 ! rapport au point vernal (21 mars), en degr és)61 ! rapport au point vernal (21 mars), en degr�s) 62 62 63 63 real pmu0(klon) ! mean of cosine of solar zenith angle during "pdtphys" … … 163 163 do k = nbp_lev - 1, 1, -1 164 164 sigma_mass(:, k) = sigma_mass(:, k+1) + zmasse(:, k) * q(:, k) 165 end do165 END DO 166 166 167 167 o3_prod = c + b * q + a6_mass * sigma_mass -
LMDZ6/branches/Amaury_dev/libf/phylmd/phyetat0_mod.F90
r5075 r5086 321 321 IF (.NOT. found) THEN 322 322 PRINT*, "phyetat0: Le champ <Tsoil"//str7//"> est absent" 323 PRINT*, " Il pr end donc la valeur de surface"323 PRINT*, " Il prEND DOnc la valeur de surface" 324 324 tsoil(:, isoil, :)=ftsol(:, :) 325 325 ENDIF -
LMDZ6/branches/Amaury_dev/libf/phylmd/physiq_mod.F90
r5082 r5086 1705 1705 998 CONTINUE 1706 1706 CLOSE(98) 1707 CONTINUE1708 1707 IF(nCFMIP>npCFMIP) THEN 1709 1708 print*,'nCFMIP > npCFMIP : augmenter npCFMIP et recompiler' -
LMDZ6/branches/Amaury_dev/libf/phylmd/regr_lat_time_coefoz_m.F90
r5075 r5086 182 182 do i_v = 1, n_o3_param 183 183 call nf95_inq_varid(ncid_in, trim(name_in(i_v)), varid_in(i_v)) 184 end do184 END DO 185 185 186 186 ! Create the output file and get the variable IDs: … … 225 225 o3_par_out(nbp_lat:1:-1, :, :)) 226 226 ! (The order of "rlatu" is inverted in the output file) 227 end do227 END DO 228 228 229 229 call nf95_close(ncid_out) … … 309 309 & varid_out(i)) 310 310 call handle_err_copy_att("standard_name") 311 end do311 END DO 312 312 313 313 ! Global attributes: -
LMDZ6/branches/Amaury_dev/libf/phylmd/regr_pr_int_m.F90
r4489 r5086 98 98 v3(i, nbp_lev:1:-1)) 99 99 ! (invert order of indices because "pplay" is in descending order) 100 end do100 END DO 101 101 102 102 end subroutine regr_pr_int -
LMDZ6/branches/Amaury_dev/libf/phylmd/regr_pr_o3_m.F90
r5075 r5086 77 77 p3d(1, j, nbp_lev + 1:1:-1), o3_mob_regr(1, j, nbp_lev:1:-1)) 78 78 ! (invert order of indices because "p3d" is in descending order) 79 end do79 END DO 80 80 81 81 ! Other latitudes: … … 85 85 p3d(i, j, nbp_lev + 1:1:-1), o3_mob_regr(i, j, nbp_lev:1:-1)) 86 86 ! (invert order of indices because "p3d" is in descending order) 87 end do88 end do87 END DO 88 END DO 89 89 90 90 ! Duplicate pole values on all longitudes: -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/dump2ds.F
r5082 r5086 27 27 REAL zmin,zmax,zllu,zllm 28 28 write(F1000,'(''(4x,'',I3,''(1H-))'')')im+3 29 DO 10001i=1,20029 DO i=1,200 30 30 jline(1+(i-1)*5:5*i)='. ' 31 10001 CONTINUE 31 END DO 32 32 10002 zmin=z(1,1) 33 33 imin=1 … … 37 37 jmax=1 38 38 kzero=0 39 DO 10003j=1,jm40 DO 10005i=1,im39 DO j=1,jm 40 DO i=1,im 41 41 IF(.NOT.( z(i,j)>zmax))GOTO 10007 42 42 zmax=z(i,j) … … 50 50 kzero=kzero+1 51 51 10011 CONTINUE 52 10005 CONTINUE 52 END DO 53 53 10006 CONTINUE 54 10003 CONTINUE 54 END DO 55 55 10004 zsign=(sign(1.,zmin)*sign(1.,zmax)>0.) 56 56 WRITE(*,*)'>>> dump2ds: ',trim(nom_z) … … 73 73 zinf=.false. 74 74 znan=.false. 75 DO 10017j=1,jm76 DO 10019i=1,im75 DO j=1,jm 76 DO i=1,im 77 77 az=abs(z(i,j)) 78 78 IF(.NOT.( az==0.))GOTO 10021 … … 97 97 kchar(i)=32-kchar(i) 98 98 10027 CONTINUE 99 10019 CONTINUE 99 END DO 100 100 10020 WRITE(*,'(1x,i3,''|'',1000a)')j+1,(iform(kchar(i)),i=1,im),'|','| 101 101 *' 102 10017 CONTINUE 102 END DO 103 103 10018 write(*,F1000) 104 104 WRITE(*,'(5x,1000i1)')(mod(i,10),i=1,im) -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/eq_regions_mod.F90
r5082 r5086 353 353 do k = 2, n 354 354 w = w * (x - k) 355 end do355 END DO 356 356 else 357 357 w = 1 358 358 do k = 0, -n - 1 359 359 y = y * (x + k) 360 end do360 END DO 361 361 end if 362 362 gamma_res = w / y -
LMDZ6/branches/Amaury_dev/libf/phylmd/rrtm/set99.F
r5082 r5086 15 15 NIL=0 16 16 NHL=(N/2)-1 17 DO 10K=NIL,NHL17 DO K=NIL,NHL 18 18 ANGLE=FLOAT(K)*DEL 19 19 TRIGS(2*K+1)=COS(ANGLE) 20 20 TRIGS(2*K+2)=SIN(ANGLE) 21 10 CONTINUE21 END DO 22 22 C 23 23 C FIND FACTORS OF N (8,6,5,4,3,2; ONLY ONE 8 ALLOWED) -
LMDZ6/branches/Amaury_dev/libf/phylmd/simu_airs.F90
r5082 r5086 30 30 do i=1,N-1 31 31 slope(i)=-(T(i+1)-T(i))/(alt(i+1)-alt(i)) 32 end do32 END DO 33 33 slope(N)=slope(N-1) 34 34 … … 60 60 i=i+i_dir 61 61 if (i<=1.or.i>=N) exit_flag=1 62 end do62 END DO 63 63 64 64 if (first_point<=0) P_tropo=65.4321
Note: See TracChangeset
for help on using the changeset viewer.