Changeset 5103 for LMDZ6/branches/Amaury_dev/libf/phylmd/Dust
- Timestamp:
- Jul 23, 2024, 3:29:36 PM (4 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/phylmd/Dust
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/bl_for_dms.F
r4593 r5103 9 9 c Monin-Obukhov (obklen), necessaires pour calculer les flux de DMS 10 10 c par la methode de Nightingale. 11 c Cette subroutineest plus que fortement inspiree de la subroutine11 c Cette SUBROUTINE est plus que fortement inspiree de la subroutine 12 12 c 'nonlocal' dans clmain.F . 13 13 c reference : Holtslag, A.A.M., and B.A. Boville, 1993: -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/coarsemission.F
r5101 r5103 1 c This subroutinecalculates the emissions of SEA SALT and DUST, part of1 c This SUBROUTINE calculates the emissions of SEA SALT and DUST, part of 2 2 C which goes to tracer 2 and other part to tracer 3. 3 3 SUBROUTINE coarsemission(pctsrf,pdtphys, -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/deposition.F
r4593 r5103 1 1 c Subroutine that estimates the Deposition velocities and the depostion 2 2 C for the different tracers 3 subroutinedeposition(vdep_oce,vdep_sic,vdep_ter,vdep_lic,pctsrf,3 SUBROUTINE deposition(vdep_oce,vdep_sic,vdep_ter,vdep_lic,pctsrf, 4 4 . zrho,zdz,pdtphys,RHcl,masse,t_seri,pplay, 5 5 . paprs,lminmax,qmin,qmax, -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/dustemission_mod.F90
r5101 r5103 38 38 ! real , parameter :: cd=1.*roa/gravity 39 39 ! new values 40 ! logical, parameter :: ok_splatuning=. true.40 ! logical, parameter :: ok_splatuning=.TRUE. 41 41 ! Div=3 from S. Alfaro (Sow et al ACPD 2011) 42 42 !JE 20150206 … … 158 158 USE dimphy 159 159 160 !AS: moved here from subroutineinitdust160 !AS: moved here from SUBROUTINE initdust 161 161 ALLOCATE( m1dflux(klon) ) 162 162 ALLOCATE( m2dflux(klon) ) … … 345 345 !$OMP THREADPRIVATE(iminacclow,iminacchigh,imincoalow,imincoahigh) 346 346 347 writeaerosoldistrib=. false.348 if(debutphy) then347 writeaerosoldistrib=.FALSE. 348 IF (debutphy) then 349 349 350 350 if (sizedustmin>sizeacclow .or. sizedustmax<sizescohigh) then … … 379 379 endif 380 380 enddo 381 if(writeaerosoldistrib) then381 IF (writeaerosoldistrib) then 382 382 !JEdbg<< 383 383 do j=1,klon … … 385 385 itvmean(j,i)=(itv(i)+itv(i+1))/2. 386 386 itv2(j,i)=itv(i) 387 ! print*, itv(i),itvmean(i),itv(i+1)388 ! print*, sizedust(i)387 !PRINT*, itv(i),itvmean(i),itv(i+1) 388 !PRINT*, sizedust(i) 389 389 enddo 390 390 itv2(j,nbins+1)=itv(nbins+1) … … 415 415 counter1=0 416 416 !JEdbg>> 417 endif 418 endif 417 END IF 418 END IF 419 419 420 420 … … 423 423 424 424 ! estimate and integrate bins into only accumulation and coarse 425 dok=1,klon425 DO k=1,klon 426 426 basesumacc(k)=basesumemission*(pctsrf(k,is_ter))*1.e-6 ! from mg/m2/s 427 427 basesumcoa(k)=basesumemission*(pctsrf(k,is_ter))*1.e-6 428 428 basesumsco(k)=basesumemission*(pctsrf(k,is_ter))*1.e-6 429 enddo 430 431 432 dok=1,klon429 END DO 430 431 432 DO k=1,klon 433 433 auxr1=0.0 434 434 auxr2=0.0 … … 446 446 enddo 447 447 emdustsco(k)=(auxr3 + basesumsco(k))*tuningfactorsco 448 enddo 448 END DO 449 449 450 450 … … 468 468 469 469 !JEdbg<< 470 if(writeaerosoldistrib) then470 IF (writeaerosoldistrib) then 471 471 do i=1,nbins 472 472 do j=1,klon … … 478 478 ! 1440 = 15 days 479 479 ! 480 = 5 days 480 if(MOD(counter,1440)== 0) THEN480 IF (MOD(counter,1440)== 0) THEN 481 481 !if (MOD(counter,480).eq. 0) THEN 482 482 do k = 1,klon … … 499 499 enddo 500 500 enddo 501 endif 501 END IF 502 502 counter=counter+1 503 endif 503 END IF 504 504 !JEdbg>> 505 505 … … 700 700 701 701 ! print *,'JEOK2',mpi_rank,omp_rank 702 if( 1==1 ) then702 IF ( 1==1 ) then 703 703 704 704 ! print *,'JEOK4',mpi_rank,omp_rank … … 717 717 !print *,'JEOK6',mpi_rank,omp_rank 718 718 719 endif 719 END IF 720 720 721 721 !CALL abort_gcm('initdustemission', 'OK1',1) … … 741 741 ! WRITE(18,*)i,alfa(i) 742 742 END DO 743 ! print*,'solspe(14,10)= ',solspe(14,10)743 ! PRINT*,'solspe(14,10)= ',solspe(14,10) 744 744 CLOSE(10) 745 745 ENDIF … … 761 761 enddo 762 762 30 continue 763 print*,'IK5'763 PRINT*,'IK5' 764 764 ncl=i-1 765 print*,' soil size classes used ',ncl,' / ',nclass766 print*,' soil size min: ',sizeclass(1),' soil size max: ',sizeclass(ncl)765 PRINT*,' soil size classes used ',ncl,' / ',nclass 766 PRINT*,' soil size min: ',sizeclass(1),' soil size max: ',sizeclass(ncl) 767 767 if(ncl>nclass)stop 768 768 769 769 ! Threshold velocity: 770 if (.false.) then771 !if (. true.) then770 IF (.FALSE.) then 771 !if (.TRUE.) then 772 772 !c 0: Iversen and White 1982 773 773 print *,'Using Iversen and White 1982 Uth' … … 785 785 endif 786 786 enddo 787 endif 788 if(.true.) then787 END IF 788 IF(.TRUE.) then 789 789 ! 1: Shao and Lu 2000 790 790 print *,'Using Shao and Lu 2000 Uth' … … 797 797 uth(i)=sqrt(an*(x1+x2)) 798 798 enddo 799 endif 799 END IF 800 800 801 801 … … 849 849 do i=1,klon 850 850 do k=1,ntyp 851 ! print*,'IKKK ',i,klon,k,ntyp851 ! PRINT*,'IKKK ',i,klon,k,ntyp 852 852 if (zos(i,k)==0..or.z01(i,k)==0.) then 853 853 ! if (zos(i,k)<=0..or.z01(i,k)<=0.) then 854 854 ! if (zos(i,k)<0..or.z01(i,k)<0.) then 855 ! print*,'INI DUST WARNING zos ou z01<0',zos(i,k),z01(i,k)855 ! PRINT*,'INI DUST WARNING zos ou z01<0',zos(i,k),z01(i,k) 856 856 ! endif 857 857 feff(i,k)=0. 858 858 feffdbg(i,k)=0. 859 ! print*,'IKKK A ',i,klon,k,ntyp859 ! PRINT*,'IKKK A ',i,klon,k,ntyp 860 860 else 861 861 ! drag partition betzeen the erodable surface and zo1 862 ! print*,'IKKK B0 ',i,klon,k,ntyp,z01(i,k),zos(i,k),xeff,aeff862 ! PRINT*,'IKKK B0 ',i,klon,k,ntyp,z01(i,k),zos(i,k),xeff,aeff 863 863 aa=log(z01(i,k)/zos(i,k)) 864 864 tmp1(i,k)=aa … … 866 866 cc=1.-aa/bb 867 867 feffdbg(i,k)=cc 868 ! print*,'IKKK B1 ',i,klon,k,ntyp868 ! PRINT*,'IKKK B1 ',i,klon,k,ntyp 869 869 ! drag partition between zo1 and zo2 870 870 ! feff: total efficient fraction 871 871 if(D(i,k)==0.)then 872 872 feff(i,k)=cc 873 ! print*,'IKKK C ',i,klon,k,ntyp873 ! PRINT*,'IKKK C ',i,klon,k,ntyp 874 874 else 875 875 dd=log(z02(i,k)/z01(i,k)) 876 876 ee=log(aeff*(D(i,k)/z01(i,k))**0.8) 877 877 feff(i,k)=(1.-dd/ee)*cc 878 ! print*,'IKKK D ',i,klon,k,ntyp878 ! PRINT*,'IKKK D ',i,klon,k,ntyp 879 879 endif 880 880 if (feff(i,k)<0.)feff(i,k)=0. … … 882 882 if (feff(i,k)>1.)feff(i,k)=1. 883 883 if (feffdbg(i,k)>1.)feffdbg(i,k)=1. 884 ! print*,'IKKK E ',i,klon,k,ntyp884 ! PRINT*,'IKKK E ',i,klon,k,ntyp 885 885 endif 886 886 enddo … … 898 898 899 899 900 if(1==1) then900 IF (1==1) then 901 901 ! ! CALL writefield_phy("AA",tmp1(1:klon,1:5),5) 902 902 903 903 CALL writefield_phy("REPART5",feff(1:klon,1:5),5) 904 904 CALL writefield_phy("REPART5dbg",feffdbg(1:klon,1:5),5) 905 endif 905 END IF 906 906 907 907 … … 919 919 920 920 921 ! if (. false.) then921 ! if (.FALSE.) then 922 922 !!**************L718 923 923 … … 983 983 ! END DO 984 984 ! 50 CONTINUE 985 ! print*,'IK10'985 !PRINT*,'IK10' 986 986 !! building the optimized distribution 987 987 ! logvdISOGRAD(1)=log(vdHR(1)) … … 1027 1027 ! 60 CONTINUE 1028 1028 ! END DO 1029 ! print*,'IK11'1029 !PRINT*,'IK11' 1030 1030 ! binsISOGRAD(nbinsout)=binsHR(nbinsHR) 1031 1031 ! vdISOGRAD(nbinsout)=vdHR(nbinsHR) … … 1242 1242 1243 1243 !IF(n.eq.1.and.nat.eq.99)GOTO 80 1244 ! if(n.eq.1) print*,'nat1=',nat,'sol1=',sol(i,n)1244 ! if(n.eq.1) PRINT*,'nat1=',nat,'sol1=',sol(i,n) 1245 1245 IF(n==1.and.nat==99)GOTO 80 1246 1246 … … 1270 1270 1271 1271 IF(ustarsalt<umin/ceff)GOTO 80 1272 ! print*,'ustarsalt = ',ustarsalt1272 ! PRINT*,'ustarsalt = ',ustarsalt 1273 1273 !---------------------------------------- 1274 1274 CALL def_copyncl(kfin) … … 1382 1382 dsmin=var3a*(ustarsalt**(-2./3.)) 1383 1383 dsmax=var3b*(ustarsalt**(-2./3.)) 1384 ! print*,'ustarsalt = ',ustarsalt,'dsmin=',dsmin,'dsmax=',dsmax1384 ! PRINT*,'ustarsalt = ',ustarsalt,'dsmin=',dsmin,'dsmax=',dsmax 1385 1385 ! dichotomy 1386 1386 CALL def_dichotomy(sizeclass,nclass,1,ncl,dsmin,ideb) 1387 ! print*,'ideb = ',ideb1387 ! PRINT*,'ideb = ',ideb 1388 1388 CALL def_dichotomy(sizeclass,nclass,ideb,ncl,dsmax,ifin) 1389 ! print*,'ifin = ',ifin1389 ! PRINT*,'ifin = ',ifin 1390 1390 ! readaptation of large sizes particles 1391 1391 kfin=0 … … 1396 1396 srel2(nat,kfin)=srel(nat,i) 1397 1397 enddo 1398 ! print*,'je suis la'1398 ! PRINT*,'je suis la' 1399 1399 kfin2=kfin 1400 1400 istep=50 … … 1406 1406 enddo 1407 1407 if(kfin>=nclass)then 1408 print*,'$$$$ Tables dimension problem:',kfin,'>',nclass1408 PRINT*,'$$$$ Tables dimension problem:',kfin,'>',nclass 1409 1409 endif 1410 1410 !--------------- … … 1419 1419 !-------------------------------------------------------------------------------------- 1420 1420 1421 subroutinedef_dichotomy(siz,nclass,i1,i2,ds,iout)1421 SUBROUTINE def_dichotomy(siz,nclass,i1,i2,ds,iout) 1422 1422 !c--------------------------------------------------------------- 1423 1423 !c 'size' is the table to scan … … 1450 1450 52 continue 1451 1451 if(iout==0)then 1452 print*,'$$$$ Tables dimension problem: ',iout1452 PRINT*,'$$$$ Tables dimension problem: ',iout 1453 1453 endif 1454 1454 1455 end subroutinedef_dichotomy1455 END SUBROUTINE def_dichotomy 1456 1456 1457 1457 !-------------------------------------------------------------------------------------- -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/finemission.F
r5101 r5103 1 C This subroutinecalculates the emissions of BLACK CARBON and ORGANIC1 C This SUBROUTINE calculates the emissions of BLACK CARBON and ORGANIC 2 2 C MATTER 3 3 SUBROUTINE finemission(zdz,pdtphys,zalt,kminbc,kmaxbc, -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/lsc_scav_orig.F90
r5101 r5103 50 50 51 51 ! variables locales 52 LOGICAL,SAVE :: debut=. true.52 LOGICAL,SAVE :: debut=.TRUE. 53 53 !$OMP THREADPRIVATE(debut) 54 54 … … 96 96 IF (debut) THEN 97 97 98 ! inscav_fisrt=. true.98 ! inscav_fisrt=.TRUE. 99 99 ! CALL getin('inscav_fisrt',inscav_fisrt) 100 100 ! if(inscav_fisrt) then 101 ! print*,'beta from fisrtilp.F90, beta = (z_cond - z_oliq)/z_cond, inscav_fisrt=',inscav_fisrt101 ! PRINT*,'beta from fisrtilp.F90, beta = (z_cond - z_oliq)/z_cond, inscav_fisrt=',inscav_fisrt 102 102 ! else 103 ! print*,'beta from Reddy and Bocuher 2004 (original version), inscav_fisrt=',inscav_fisrt103 ! PRINT*,'beta from Reddy and Bocuher 2004 (original version), inscav_fisrt=',inscav_fisrt 104 104 ! endif 105 105 … … 128 128 !9999 Continue 129 129 130 ! print*,'alpha_r',alpha_r131 ! print*,'alpha_s',alpha_s132 ! print*,'R_r',R_r133 ! print*,'R_s',R_s134 ! print*,'frac_fine_scav',frac_fine_scav135 ! print*,'frac_coar_scav',frac_coar_scav136 ! print*,'frac_aer ev',frac_aer130 ! PRINT*,'alpha_r',alpha_r 131 ! PRINT*,'alpha_s',alpha_s 132 ! PRINT*,'R_r',R_r 133 ! PRINT*,'R_s',R_s 134 ! PRINT*,'frac_fine_scav',frac_fine_scav 135 ! PRINT*,'frac_coar_scav',frac_coar_scav 136 ! PRINT*,'frac_aer ev',frac_aer 137 137 138 138 ! JE endcomment … … 255 255 his_dh(i)=0. 256 256 endif 257 ! print*, k, 'beta_ev',beta_ev257 ! PRINT*, k, 'beta_ev',beta_ev 258 258 ! remove tracers from precipitation owing to release by evaporation in his_dh 259 259 !! dxev=frac_ev*deltaP(i,k)*pdtime * his_dh(i) /(zrho(i,k)*zdz(i,k)) -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/lsc_scav_spl.F90
r5101 r5103 53 53 54 54 ! variables locales 55 LOGICAL,SAVE :: debut=. true.55 LOGICAL,SAVE :: debut=.TRUE. 56 56 !$OMP THREADPRIVATE(debut) 57 57 … … 106 106 IF (debut) THEN 107 107 108 ! inscav_fisrt=. true.108 ! inscav_fisrt=.TRUE. 109 109 ! CALL getin('inscav_fisrt',inscav_fisrt) 110 110 ! if(inscav_fisrt) then 111 ! print*,'beta from fisrtilp.F90, beta = (z_cond - z_oliq)/z_cond, inscav_fisrt=',inscav_fisrt111 ! PRINT*,'beta from fisrtilp.F90, beta = (z_cond - z_oliq)/z_cond, inscav_fisrt=',inscav_fisrt 112 112 ! else 113 ! print*,'beta from Reddy and Bocuher 2004 (original version), inscav_fisrt=',inscav_fisrt113 ! PRINT*,'beta from Reddy and Bocuher 2004 (original version), inscav_fisrt=',inscav_fisrt 114 114 ! endif 115 115 … … 138 138 !9999 Continue 139 139 140 ! print*,'JE alpha_r',alpha_r141 ! print*,'JE alpha_s',alpha_s142 ! print*,'JE R_r',R_r143 ! print*,'JE R_s',R_s144 ! print*,'frac_fine_scav',frac_fine_scav145 ! print*,'frac_coar_scav',frac_coar_scav146 ! print*,'frac_aer ev',frac_aer140 ! PRINT*,'JE alpha_r',alpha_r 141 ! PRINT*,'JE alpha_s',alpha_s 142 ! PRINT*,'JE R_r',R_r 143 ! PRINT*,'JE R_s',R_s 144 ! PRINT*,'frac_fine_scav',frac_fine_scav 145 ! PRINT*,'frac_coar_scav',frac_coar_scav 146 ! PRINT*,'frac_aer ev',frac_aer 147 147 148 148 ! JE endcomment … … 266 266 his_dh(i)=0. 267 267 endif 268 ! print*, k, 'beta_ev',beta_ev268 ! PRINT*, k, 'beta_ev',beta_ev 269 269 ! remove tracers from precipitation owing to release by evaporation in his_dh 270 270 !! dxev=frac_ev*deltaP(i,k)*pdtime * his_dh(i) /(zrho(i,k)*zdz(i,k)) -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/minmaxqfi2.F
r5082 r5103 1 subroutineminmaxqfi2(zq,qmin,qmax,comment)1 SUBROUTINE minmaxqfi2(zq,qmin,qmax,comment) 2 2 c 3 3 USE dimphy -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/minmaxsource.F
r5082 r5103 1 subroutineminmaxsource(zq,qmin,qmax,comment)1 SUBROUTINE minmaxsource(zq,qmin,qmax,comment) 2 2 3 3 USE dimphy -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/neutral.F
r5101 r5103 1 1 c*********************************************************************** 2 subroutineneutral(u10_mps,ustar_mps,obklen_m,2 SUBROUTINE neutral(u10_mps,ustar_mps,obklen_m, 3 3 + u10n_mps ) 4 4 c----------------------------------------------------------------------- 5 c subroutineto compute u10 neutral wind speed5 c SUBROUTINE to compute u10 neutral wind speed 6 6 c inputs 7 7 c u10_mps - wind speed at 10 m (m/s) … … 18 18 c Current Theory, Geernaert and W.J. Plant, editors, Kluwer Academic 19 19 c Publishers, Boston, MA, 1990. 20 c subroutinewritten Feb 2001 by eg chapman20 c SUBROUTINE written Feb 2001 by eg chapman 21 21 c adapted to LMD-ZT by E. Cosme 310801 22 22 c Following Will Shaw (PNL, Seattle) the theory applied for flux -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/phys_output_write_spl_mod.F90
r5101 r5103 89 89 d_t, qx, d_qx, d_tr_dyn, zmasse, flag_aerosol, flag_aerosol_strat, ok_cdnc) 90 90 91 ! This subroutinedoes the actual writing of diagnostics that were92 ! defined and initialised mainly in phytracr_spl_mod.F90 (SPLA tracers, subroutinephytracr_spl_out_init)91 ! This SUBROUTINE does the actual writing of diagnostics that were 92 ! defined and initialised mainly in phytracr_spl_mod.F90 (SPLA tracers, SUBROUTINE phytracr_spl_out_init) 93 93 94 94 USE dimphy, ONLY: klon, klev, klevp1 … … 828 828 ! ENDIF 829 829 830 #ifdef CPP_IOIPSL831 830 IF (.NOT. using_xios) THEN 832 831 IF (.NOT.ok_all_xml) THEN … … 836 835 ll=0 837 836 DO k=1, nlevSTD 838 bb2=clevSTD(k) 837 bb2=clevSTD(k) 839 838 IF (bb2.EQ."850".OR.bb2.EQ."700".OR. & 840 839 bb2.EQ."500".OR.bb2.EQ."200".OR. & … … 856 855 ENDIF 857 856 ENDIF !.NOT.using_xios 858 #endif859 857 860 858 IF (using_xios) THEN … … 1470 1468 ENDIF 1471 1469 !!!!!!!!!!!! Sorties niveaux de pression NMC !!!!!!!!!!!!!!!!!!!! 1472 #ifdef CPP_IOIPSL1473 1470 1474 1471 IF (.NOT. using_xios) THEN 1475 IF (.NOT.ok_all_xml) THEN 1472 IF (.NOT.ok_all_xml) THEN 1476 1473 ! ATTENTION, LES ANCIENS HISTWRITE ONT ETES CONSERVES EN ATTENDANT MIEUX: 1477 1474 ! Champs interpolles sur des niveaux de pression … … 1541 1538 ENDIF 1542 1539 ENDIF 1543 #endif1544 1540 1545 1541 IF (using_xios) THEN -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/phytracr_spl_mod.F90
r5101 r5103 89 89 !$OMP THREADPRIVATE(tsol) 90 90 INTEGER :: ijulday 91 LOGICAL, parameter :: edgar = . true.91 LOGICAL, parameter :: edgar = .TRUE. 92 92 INTEGER, parameter :: flag_dms = 4 93 93 INTEGER(kind = 4) nbjour … … 424 424 SUBROUTINE phytracr_spl_out_init() 425 425 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 426 !AS : This subroutinecentralises the ALLOCATE needed for the 1st CALL of426 !AS : This SUBROUTINE centralises the ALLOCATE needed for the 1st CALL of 427 427 ! phys_output_write_spl in physiq 428 428 … … 690 690 !AS: IF permettant le debranchage des coefs de Jeronimo Escribano: fichiers *_meta 691 691 ! nbreg_* sont initialisés à 1 dans phytracr_spl, if debutphy, 692 ! avant d'appeler la subroutinepresente, phytracr_spl_ini692 ! avant d'appeler la SUBROUTINE presente, phytracr_spl_ini 693 693 ! (phytracr_spl_ini appele readregionsdims2_spl, 694 694 ! qui lit et fait "bcast" de nbreg_ind,_bb,_dust,_wstardust dans fichiers regions_*_meta) … … 750 750 !temporal hardcoded null inicialization of assimilation emmision factors 751 751 !AS: scale_param sont ensuite lus dans modvalues.nc 752 ! par la subroutineread_scalenc, appelee par readscaleparamsnc_spl752 ! par la SUBROUTINE read_scalenc, appelee par readscaleparamsnc_spl 753 753 scale_param_ssacc = 1. 754 754 scale_param_sscoa = 1. … … 1113 1113 CHARACTER*2 str2 1114 1114 !!AS: LOGICAL ok_histrac 1115 !!!JE2014124 PARAMETER (ok_histrac=. true.)1116 !! PARAMETER (ok_histrac=. false.)1115 !!!JE2014124 PARAMETER (ok_histrac=.TRUE.) 1116 !! PARAMETER (ok_histrac=.FALSE.) 1117 1117 INTEGER ndex2d(iim * (jjm + 1)), ndex3d(iim * (jjm + 1) * klev) 1118 1118 INTEGER nhori1, nhori2, nhori3, nhori4, nhori5, nvert … … 1144 1144 LOGICAL convection, lessivage, lminmax, lcheckmass 1145 1145 DATA convection, lessivage, lminmax, lcheckmass & 1146 /. true., .true., .true., .false./1146 /.TRUE., .TRUE., .TRUE., .FALSE./ 1147 1147 1148 1148 REAL xconv(nbtr) 1149 1149 1150 1150 LOGICAL anthropo, bateau, edgar 1151 DATA anthropo, bateau, edgar/. true., .true., .true./1151 DATA anthropo, bateau, edgar/.TRUE., .TRUE., .TRUE./ 1152 1152 1153 1153 !c bc_source … … 1357 1357 1358 1358 ! computing time 1359 ! logitime=. true.1360 logitime = . false.1359 ! logitime=.TRUE. 1360 logitime = .FALSE. 1361 1361 IF (logitime) THEN 1362 1362 clock_start = 0 … … 1371 1371 1372 1372 ! Definition of tracers index. 1373 print*, 'OK ON PASSSE BIEN LA'1373 PRINT*, 'OK ON PASSSE BIEN LA' 1374 1374 CALL minmaxsource(source_tr, qmin, qmax, 'A1 maxsource init phytracr') 1375 1375 … … 1520 1520 !vdep_lic = (/0.2, 0.17, 1.2, 1.2/) 1521 1521 1522 iscm3 = . false.1522 iscm3 = .FALSE. 1523 1523 if (debutphy) then 1524 1524 !$OMP MASTER … … 2023 2023 ENDDO 2024 2024 ENDDO 2025 iscm3 = . true.2025 iscm3 = .TRUE. 2026 2026 2027 2027 !======================================================================= … … 2137 2137 CALL iophys_ecrit('q_seri',klev,'q_seri','',q_seri) 2138 2138 CALL iophys_ecrit('tsol',1,'tsol','',tsol) 2139 print*,'fracso2emis,frach2sofso2,bateau',fracso2emis,frach2sofso2,bateau2140 print*,'kminbc,kmaxbc,pdtphys',kminbc,kmaxbc,pdtphys2141 print*,'scale_param_bb,scale_param_ind',scale_param_bb,scale_param_ind2142 print*,'iregion_ind,iregion_bb,nbreg_ind, nbreg_bb',iregion_ind,iregion_bb,nbreg_ind, nbreg_bb2143 print*,'id_prec,id_fine',id_prec,id_fine2139 PRINT*,'fracso2emis,frach2sofso2,bateau',fracso2emis,frach2sofso2,bateau 2140 PRINT*,'kminbc,kmaxbc,pdtphys',kminbc,kmaxbc,pdtphys 2141 PRINT*,'scale_param_bb,scale_param_ind',scale_param_bb,scale_param_ind 2142 PRINT*,'iregion_ind,iregion_bb,nbreg_ind, nbreg_bb',iregion_ind,iregion_bb,nbreg_ind, nbreg_bb 2143 PRINT*,'id_prec,id_fine',id_prec,id_fine 2144 2144 CALL iophys_ecrit('zdz',klev,'zdz','',zdz) 2145 2145 CALL iophys_ecrit('zalt',klev,'zalt','',zalt) … … 2164 2164 2165 2165 2166 print*, 'ON PASSE DANS precuremission'2166 PRINT*, 'ON PASSE DANS precuremission' 2167 2167 CALL precuremission(ftsol, u10m_ec, v10m_ec, pctsrf, & 2168 2168 u_seri, v_seri, paprs, pplay, cdragh, cdragm, & … … 2277 2277 ENDDO 2278 2278 ENDDO 2279 iscm3 = . false.2279 iscm3 = .FALSE. 2280 2280 !---------------------------- 2281 2281 IF (lminmax) THEN … … 2405 2405 2406 2406 #ifdef IOPHYS_DUST 2407 print*,'iflag_conv=',iflag_conv2407 PRINT*,'iflag_conv=',iflag_conv 2408 2408 CALL iophys_ecrit('coefh',klev,'coefh','',coefh) 2409 2409 CALL iophys_ecrit('yu1',1,'yu1','',yu1) … … 2554 2554 ENDDO 2555 2555 ENDDO !--end itr loop 2556 iscm3 = . true.2556 iscm3 = .TRUE. 2557 2557 !-------------------------------------- 2558 2558 print *, ' BEFORE Sediment' … … 2629 2629 ENDDO 2630 2630 ENDDO 2631 iscm3 = . false.2631 iscm3 = .FALSE. 2632 2632 2633 2633 … … 2715 2715 ENDDO 2716 2716 ENDDO 2717 iscm3 = . true.2717 iscm3 = .TRUE. 2718 2718 !------------------------------ 2719 2719 … … 2748 2748 IF (iflag_conv==2) THEN 2749 2749 ! Tiedke 2750 CALL incloud_scav(. false., qmin, qmax, masse, henry, kk, prfl, &2750 CALL incloud_scav(.FALSE., qmin, qmax, masse, henry, kk, prfl, & 2751 2751 psfl, pmflxr, pmflxs, zrho, zdz, t_seri, pdtphys, & 2752 2752 his_dhlsc, his_dhcon, tr_seri) … … 2755 2755 ! ELSE IF (iflag_conv.GE.3) THEN 2756 2756 2757 ! CALL incloud_scav_lsc(. false.,qmin,qmax,masse,henry,kk,prfl,2757 ! CALL incloud_scav_lsc(.FALSE.,qmin,qmax,masse,henry,kk,prfl, 2758 2758 ! . psfl,pmflxr,pmflxs,zrho,zdz,t_seri,pdtphys, 2759 2759 ! . his_dhlsc,his_dhcon,tr_seri) … … 2786 2786 ! Tiedke 2787 2787 2788 CALL blcloud_scav(. false., qmin, qmax, pdtphys, prfl, psfl, &2788 CALL blcloud_scav(.FALSE., qmin, qmax, pdtphys, prfl, psfl, & 2789 2789 pmflxr, pmflxs, zdz, alpha_r, alpha_s, masse, & 2790 2790 his_dhbclsc, his_dhbccon, tr_seri) … … 2796 2796 ! ELSE IF (iflag_conv.GE.3) THEN 2797 2797 2798 ! CALL blcloud_scav_lsc(. false.,qmin,qmax,pdtphys,prfl,psfl,2798 ! CALL blcloud_scav_lsc(.FALSE.,qmin,qmax,pdtphys,prfl,psfl, 2799 2799 ! . pmflxr,pmflxs,zdz,alpha_r,alpha_s,masse, 2800 2800 ! . his_dhbclsc,his_dhbccon,tr_seri) … … 2836 2836 ENDDO 2837 2837 ENDDO 2838 iscm3 = . false.2838 iscm3 = .FALSE. 2839 2839 2840 2840 IF (logitime) THEN … … 2893 2893 ! Tiedke 2894 2894 CALL trconvect(pplay, t_seri, pdtphys, pmfu, pmfd, pen_u, pde_u, & 2895 pen_d, pde_d, paprs, zdz, xconv, qmin, qmax, . false., masse, &2895 pen_d, pde_d, paprs, zdz, xconv, qmin, qmax, .FALSE., masse, & 2896 2896 dtrconv, tr_seri) 2897 2897 DO itr = 1, nbtr … … 2996 2996 IF (lcheckmass) THEN 2997 2997 CALL checkmass(d_tr_cv(:, :, itr), RNAVO, masse(itr), zdz, & 2998 pplay, t_seri, . false., 'd_tr_cv:')2998 pplay, t_seri, .FALSE., 'd_tr_cv:') 2999 2999 ENDIF 3000 3000 ENDIF … … 3089 3089 ! choix du lessivage 3090 3090 IF (iflag_lscav == 3 .OR. iflag_lscav == 4) THEN 3091 !IF (. false.) THEN ! test #DFB (Binta) sans lsc_scav_spl3091 !IF (.FALSE.) THEN ! test #DFB (Binta) sans lsc_scav_spl 3092 3092 print *, 'JE iflag_lscav', iflag_lscav 3093 3093 DO itr = 1, nbtr … … 3197 3197 ENDDO 3198 3198 ENDDO 3199 iscm3 = . true.3199 iscm3 = .TRUE. 3200 3200 3201 3201 ! Computing burden in mg/m2 … … 3463 3463 ENDDO 3464 3464 ENDDO 3465 iscm3 = . false.3465 iscm3 = .FALSE. 3466 3466 3467 3467 … … 4197 4197 tia_nophytracr = tia_nophytracr + REAL(ti_nophytracr) / REAL(clock_rate) 4198 4198 print *, 'Time outside phytracr; Time accum outside phytracr' 4199 print*, REAL(ti_nophytracr) / REAL(clock_rate), tia_nophytracr4199 PRINT*, REAL(ti_nophytracr) / REAL(clock_rate), tia_nophytracr 4200 4200 4201 4201 clock_start_outphytracr = clock_end -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/read_newemissions.F
r5101 r5103 1 1 C Routine to read the emissions of the different species 2 2 C 3 subroutineread_newemissions(julien, jH_emi ,edgar, flag_dms,3 SUBROUTINE read_newemissions(julien, jH_emi ,edgar, flag_dms, 4 4 I debutphy, 5 5 I pdtphys,lafinphy, nbjour, pctsrf, … … 157 157 test_vent=0 158 158 test_day=0 159 CALL read_vent(. true.,step_vent,nbjour,u10m_ec2,v10m_ec2)159 CALL read_vent(.TRUE.,step_vent,nbjour,u10m_ec2,v10m_ec2) 160 160 print *,'Read (debut) dust emissions: step_vent,julien,nbjour', 161 161 . step_vent,julien,nbjour 162 CALL read_dust(. true.,step_vent,nbjour,dust_ec2)162 CALL read_dust(.TRUE.,step_vent,nbjour,dust_ec2) 163 163 C Threshold velocity map 164 164 !$OMP MASTER … … 208 208 step_vent=step_vent+1 209 209 !PRINT *,'step_vent=', step_vent 210 CALL read_vent(. false.,step_vent,nbjour,u10m_ec2,v10m_ec2)210 CALL read_vent(.FALSE.,step_vent,nbjour,u10m_ec2,v10m_ec2) 211 211 print *,'Reading dust emissions: step_vent, julien, nbjour ', 212 212 . step_vent, julien, nbjour 213 213 !print *,'test_vent, julien = ',test_vent, julien 214 CALL read_dust(. false.,step_vent,nbjour,dust_ec2)214 CALL read_dust(.FALSE.,step_vent,nbjour,dust_ec2) 215 215 216 216 ENDIF !--test_vent … … 224 224 tau_2=(jH_vent-jH_init)*24./(vent_resol) 225 225 tau_1=1.-tau_2 226 ! print*,'JEdec jHv,JHi,ventres',jH_vent,jH_init,vent_resol227 ! print*,'JEdec tau2,tau1',tau_2,tau_1228 ! print*,'JEdec step_vent',step_vent226 ! PRINT*,'JEdec jHv,JHi,ventres',jH_vent,jH_init,vent_resol 227 ! PRINT*,'JEdec tau2,tau1',tau_2,tau_1 228 ! PRINT*,'JEdec step_vent',step_vent 229 229 DO i=1, klon 230 230 ! PRINT*,'JE tau_2,tau_2j',tau_2,tau_2j -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/read_surface.F90
r5101 r5103 1 subroutineread_surface(name,surfa)1 SUBROUTINE read_surface(name,surfa) 2 2 3 3 … … 45 45 IF (is_mpi_root .AND. is_omp_root) THEN 46 46 47 print*,'Lecture du fichier donnees_lisa.nc'47 PRINT*,'Lecture du fichier donnees_lisa.nc' 48 48 ncid=nf90_open('donnees_lisa.nc',nf90_nowrite,rcode) 49 49 50 50 !JE20140526<<: check if are inversed or not the latitude grid in donnes_lisa 51 outcycle=. false.51 outcycle=.FALSE. 52 52 latstr='null' 53 isinversed=. false.53 isinversed=.FALSE. 54 54 do i=1,5 55 55 if (i==1) aux4s='latu' … … 60 60 status = nf90_inq_varid (ncid, aux4s, rcode) 61 61 ! print *,'stat,i',status,i,outcycle,aux4s 62 ! print *,'ifclause',status.NE. nf90_noerr ,outcycle == . false.62 ! print *,'ifclause',status.NE. nf90_noerr ,outcycle == .FALSE. 63 63 IF ((.not.(status/= nf90_noerr) ).and.( .not. outcycle )) THEN 64 outcycle=. true.64 outcycle=.TRUE. 65 65 latstr=aux4s 66 66 ENDIF … … 73 73 status=nf90_get_var(ncid,varid,lats_glo,startj,endj) 74 74 ! print *,latstr,varid,status,jjp1,rcode 75 ! IF (status .NE. nf90_noerr) print*,'NOOOOOOO'75 ! IF (status .NE. nf90_noerr) PRINT*,'NOOOOOOO' 76 76 ! print *,lats 77 77 !stop 78 78 79 79 ! check if netcdf is latitude inversed or not. 80 if (lats_glo(1)<lats_glo(2)) isinversed=. true.80 if (lats_glo(1)<lats_glo(2)) isinversed=.TRUE. 81 81 ! JE20140526>> 82 82 … … 85 85 write(str1,'(i1)') i 86 86 varname=trim(name)//str1 87 print*,'lecture variable:',varname87 PRINT*,'lecture variable:',varname 88 88 varid=nf90_inq_varid(ncid,trim(varname),rcode) 89 89 … … 139 139 140 140 ENDDO ! Fin boucle 1 a 5 141 print*,'Passage Grille Dyn -> Phys'141 PRINT*,'Passage Grille Dyn -> Phys' 142 142 143 143 … … 149 149 150 150 return 151 end subroutineread_surface151 END SUBROUTINE read_surface -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/read_vent.f90
r5101 r5103 106 106 107 107 ! added by JE from the nh SPLA, dyn3d/read_reanalyse.F which is not available any more 108 subroutinecorrectbid(iim, nl, x)108 SUBROUTINE correctbid(iim, nl, x) 109 109 integer :: iim, nl 110 110 real :: x(iim + 1, nl) … … 116 116 if(abs(x(i, l))>1.e10) then 117 117 zz = 0.5 * (x(i - 1, l) + x(i + 1, l)) 118 ! print*,'correction ',i,l,x(i,l),zz118 ! PRINT*,'correction ',i,l,x(i,l),zz 119 119 x(i, l) = zz 120 120 endif … … 123 123 124 124 return 125 end subroutinecorrectbid125 END SUBROUTINE correctbid 126 126 127 127 -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/satellite_out_spla.F90
r5099 r5103 22 22 23 23 CALL ju2ymds(jD_cur+jH_cur, year_cur, mth_cur, day_cur, hour) 24 ! print*,'JDcur=',jD_cur,'JHcur=',jH_cur,'year_cur' ,year_cur,'mth_cur' ,mth_cur, 'day_cur',day_cur,'hour' ,hour24 ! PRINT*,'JDcur=',jD_cur,'JHcur=',jH_cur,'year_cur' ,year_cur,'mth_cur' ,mth_cur, 'day_cur',day_cur,'hour' ,hour 25 25 26 26 ! IF ( (year_cur*100.+mth_cur .GE. 199611 ) .AND. (year_cur*100.+mth_cur .LE. 199706)) THEN -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/seasalt.F
r4593 r5103 1 c This subroutine estimateis Sea Salt emission fluxes over1 c This SUBROUTINE estimateis Sea Salt emission fluxes over 2 2 c Oceanic surfaces. 3 3 c -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/sediment_mod.F
r5099 r5103 1 c----- This subroutine calculates the sedimentation flux of Tracers1 c----- This SUBROUTINE calculates the sedimentation flux of Tracers 2 2 c 3 3 SUBROUTINE sediment_mod(t_seri,pplay,zrho,paprs,time_step,RHcl, -
LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/tiedqneg.f90
r5099 r5103 16 16 17 17 INCLUDE "dimensions.h" 18 ! INCLUDE "dimphy.h"19 18 REAL :: pres_h(klon, klev + 1) 20 19 REAL :: q(klon, klev)
Note: See TracChangeset
for help on using the changeset viewer.