Changeset 1299 for LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd
- Timestamp:
- Jan 20, 2010, 3:27:21 PM (15 years ago)
- Location:
- LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd
- Files:
-
- 59 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/aaam_bud.F
r1279 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 subroutine aaam_bud (iam,nlon,nlev,rjour,rsec, … … 117 117 REAL BLSU(801,401),BLSV(801,401) 118 118 REAL ZLON(801),ZLAT(401) 119 120 CHARACTER (LEN=20) :: modname='aaam_bud' 121 CHARACTER (LEN=80) :: abort_message 122 123 119 124 C 120 125 C PUT AAM QUANTITIES AT ZERO: 121 126 C 122 127 if(iim+1.gt.801.or.jjm+1.gt.401)then 123 print *,'Pb de dimension dans aaam_bud'124 stop128 abort_message = 'Pb de dimension dans aaam_bud' 129 CALL abort_gcm (modname,abort_message,1) 125 130 endif 126 131 … … 128 133 hadley=1.e18 129 134 hadday=1.e18*24.*3600. 130 dlat=xpi/ float(jjm)131 dlon=2.*xpi/ float(iim)135 dlat=xpi/REAL(jjm) 136 dlon=2.*xpi/REAL(iim) 132 137 133 138 do iax=1,3 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/aeropt.F
r1279 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE aeropt(pplay, paprs, t_seri, msulfate, RHcl, … … 39 39 REAL alpha_aer_sulfate(nbre_RH,5) !--unit m2/g SO4 40 40 REAL alphasulfate 41 42 CHARACTER (LEN=20) :: modname='aeropt' 43 CHARACTER (LEN=80) :: abort_message 44 41 45 c 42 46 c Proprietes optiques … … 85 89 rh=MIN(RHcl(i,k)*100.,RH_MAX) 86 90 RH_num = INT( rh/10. + 1.) 87 IF (rh.LT.0.) STOP 'aeropt: RH < 0 not possible' 91 IF (rh.LT.0.) THEN 92 abort_message = 'aeropt: RH < 0 not possible' 93 CALL abort_gcm (modname,abort_message,1) 94 ENDIF 88 95 IF (rh.gt.85.) RH_num=10 89 96 IF (rh.gt.90.) RH_num=11 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/aeropt_5wv.F90
r1279 r1299 621 621 DO k=1, klev 622 622 DO i=1, klon 623 ! IF (t_seri(i,k).EQ.0) stop 'stop aeropt_5wv T '624 ! IF (pplay(i,k).EQ.0) stop 'stop aeropt_5wv p '625 623 zrho=pplay(i,k)/t_seri(i,k)/RD ! kg/m3 626 624 !CDIR UNROLL=naero_spc -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/albedo.F
r900 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 67 67 c prend en compte l'autre moitie de la journee): 68 68 DO k = 1, npts 69 rmu = aa + bb * COS( FLOAT(k)/FLOAT(npts)*zpi)69 rmu = aa + bb * COS(REAL(k)/REAL(npts)*zpi) 70 70 rmu = MAX(0.0, rmu) 71 71 fauxo = (1.47-ACOS(rmu))/.15 … … 110 110 c prend en compte l'autre moitie de la journee): 111 111 DO k = 1, npts 112 rmu = aa + bb * COS( FLOAT(k)/FLOAT(npts)*zpi)112 rmu = aa + bb * COS(REAL(k)/REAL(npts)*zpi) 113 113 rmu = MAX(0.0, rmu) 114 114 cIM cf. PB alb = 0.058/(rmu + 0.30) -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/calcul_simulISCCP.h
r1279 r1299 1 1 c 2 c $ Header$2 c $Id$ 3 3 c 4 4 c on appelle le simulateur ISCCP toutes les 3h … … 18 18 sunlit(i)=1 19 19 IF(rmu0(i).EQ.0.) sunlit(i)=0 20 nbsunlit(1,i,n)= FLOAT(sunlit(i))20 nbsunlit(1,i,n)=REAL(sunlit(i)) 21 21 ENDDO 22 22 c … … 88 88 print*,'seed=0 i paprs aa seed_re', 89 89 . i,paprs(i,2),aa,seed_re(i,n) 90 STOP 90 abort_message = '' 91 CALL abort_gcm (modname,abort_message,1) 91 92 ELSE IF(seed(i,n).LT.0) THEN 92 93 print*,'seed < 0, i seed itap paprs',i, 93 94 . seed(i,n),itap,paprs(i,2) 94 STOP 95 abort_message = '' 96 CALL abort_gcm (modname,abort_message,1) 95 97 ENDIF 96 98 c -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/calltherm.F90
r1295 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 subroutine calltherm(dtime & … … 83 83 ! save zentr_therm,zfm_therm 84 84 85 character (len=20) :: modname='calltherm' 86 character (len=80) :: abort_message 87 85 88 integer i,k 86 89 logical, save :: first=.true. … … 137 140 if(nbptspb.GT.0) print*,'Number of points with q_seri(i,k)<=0 ',nbptspb 138 141 139 zdt=dtime/ float(nsplit_thermals)142 zdt=dtime/REAL(nsplit_thermals) 140 143 do isplit=1,nsplit_thermals 141 144 … … 173 176 & ,tau_thermals,3) 174 177 else if (iflag_thermals.eq.11) then 175 stop 'cas non prevu dans calltherm' 178 abort_message = 'cas non prevu dans calltherm' 179 CALL abort_gcm (modname,abort_message,1) 180 176 181 ! CALL thermcell_pluie(klon,klev,zdt & 177 182 ! & ,pplay,paprs,pphi,zlev & … … 210 215 if (prt_level.gt.10) write(lunout,*)'Apres thermcell_main OK' 211 216 else 212 STOP'Cas des thermiques non prevu' 217 abort_message = 'Cas des thermiques non prevu' 218 CALL abort_gcm (modname,abort_message,1) 213 219 endif 214 220 … … 218 224 DO i=1,klon 219 225 logexpr1(i)=flag_bidouille_stratocu.or.weak_inversion(i).gt.0.5 220 IF(logexpr1(i)) fact(i)=1./ float(nsplit_thermals)226 IF(logexpr1(i)) fact(i)=1./REAL(nsplit_thermals) 221 227 ENDDO 222 228 … … 255 261 if(prt_level.GE.10) print*,'calltherm i Alp_bl Alp Ale_bl Ale',i,Alp_bl(i),Alp(i),Ale_bl(i),Ale(i) 256 262 fm_therm(i,klev+1)=0. 257 Ale_bl(i)=Ale_bl(i)+Ale(i)/ float(nsplit_thermals)263 Ale_bl(i)=Ale_bl(i)+Ale(i)/REAL(nsplit_thermals) 258 264 ! write(22,*)'ALE CALLTHERM',Ale_bl(i),Ale(i) 259 Alp_bl(i)=Alp_bl(i)+Alp(i)/ float(nsplit_thermals)265 Alp_bl(i)=Alp_bl(i)+Alp(i)/REAL(nsplit_thermals) 260 266 ! write(23,*)'ALP CALLTHERM',Alp_bl(i),Alp(i) 261 267 ENDDO … … 276 282 ! & 'fm=',zfm_therm(i,k),'entr=',entr_therm(i,k) 277 283 endif 278 ! stop279 284 ENDDO 280 285 ENDDO -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/conema3.F
r1146 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE conema3 (dtime,paprs,pplay,t,q,u,v,tra,ntra, … … 360 360 cape(i) = em_CAPE 361 361 wd(i) = em_wd 362 rflag(i) = float(iflag)362 rflag(i) = REAL(iflag) 363 363 c SB kbas(i) = em_bas 364 364 c SB ktop(i) = em_top -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/conf_phys.F90
r1286 r1299 27 27 USE surface_data 28 28 USE carbon_cycle_mod, ONLY : carbon_cycle_tr, carbon_cycle_cpl 29 use control_mod 29 30 30 31 include "conema3.h" … … 36 37 include "clesphys.h" 37 38 include "compbl.h" 38 include "control.h"39 39 include "comsoil.h" 40 40 ! -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/convect2.F
r766 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 subroutine convect2(ncum,idcum,len,nd,ndp1,nl,minorig, -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/cpl_mod.F90
r1279 r1299 24 24 USE oasis 25 25 USE write_field_phy 26 USE control_mod 27 26 28 27 29 ! Global attributes … … 101 103 INCLUDE "dimensions.h" 102 104 INCLUDE "indicesol.h" 103 INCLUDE "control.h"104 105 INCLUDE "temps.h" 105 106 INCLUDE "iniprint.h" … … 583 584 DO ig = 1, knon 584 585 cpl_sols(ig,cpl_index) = cpl_sols(ig,cpl_index) + & 585 swdown(ig) / FLOAT(nexca)586 swdown(ig) / REAL(nexca) 586 587 cpl_nsol(ig,cpl_index) = cpl_nsol(ig,cpl_index) + & 587 (lwdown(ig) + fluxlat(ig) +fluxsens(ig)) / FLOAT(nexca)588 (lwdown(ig) + fluxlat(ig) +fluxsens(ig)) / REAL(nexca) 588 589 cpl_rain(ig,cpl_index) = cpl_rain(ig,cpl_index) + & 589 precip_rain(ig) / FLOAT(nexca)590 precip_rain(ig) / REAL(nexca) 590 591 cpl_snow(ig,cpl_index) = cpl_snow(ig,cpl_index) + & 591 precip_snow(ig) / FLOAT(nexca)592 precip_snow(ig) / REAL(nexca) 592 593 cpl_evap(ig,cpl_index) = cpl_evap(ig,cpl_index) + & 593 evap(ig) / FLOAT(nexca)594 evap(ig) / REAL(nexca) 594 595 cpl_tsol(ig,cpl_index) = cpl_tsol(ig,cpl_index) + & 595 tsurf(ig) / FLOAT(nexca)596 tsurf(ig) / REAL(nexca) 596 597 cpl_fder(ig,cpl_index) = cpl_fder(ig,cpl_index) + & 597 fder(ig) / FLOAT(nexca)598 fder(ig) / REAL(nexca) 598 599 cpl_albe(ig,cpl_index) = cpl_albe(ig,cpl_index) + & 599 albsol(ig) / FLOAT(nexca)600 albsol(ig) / REAL(nexca) 600 601 cpl_taux(ig,cpl_index) = cpl_taux(ig,cpl_index) + & 601 taux(ig) / FLOAT(nexca)602 taux(ig) / REAL(nexca) 602 603 cpl_tauy(ig,cpl_index) = cpl_tauy(ig,cpl_index) + & 603 tauy(ig) / FLOAT(nexca)604 tauy(ig) / REAL(nexca) 604 605 cpl_windsp(ig,cpl_index) = cpl_windsp(ig,cpl_index) + & 605 windsp(ig) / FLOAT(nexca)606 windsp(ig) / REAL(nexca) 606 607 cpl_taumod(ig,cpl_index) = cpl_taumod(ig,cpl_index) + & 607 SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / FLOAT(nexca)608 SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / REAL (nexca) 608 609 609 610 IF (carbon_cycle_cpl) THEN 610 611 cpl_atm_co2(ig,cpl_index) = cpl_atm_co2(ig,cpl_index) + & 611 co2_send(knindex(ig))/ FLOAT(nexca)612 co2_send(knindex(ig))/ REAL(nexca) 612 613 END IF 613 614 ENDDO … … 777 778 DO ig = 1, knon 778 779 cpl_sols(ig,cpl_index) = cpl_sols(ig,cpl_index) + & 779 swdown(ig) / FLOAT(nexca)780 swdown(ig) / REAL(nexca) 780 781 cpl_nsol(ig,cpl_index) = cpl_nsol(ig,cpl_index) + & 781 (lwdown(ig) + fluxlat(ig) +fluxsens(ig)) / FLOAT(nexca)782 (lwdown(ig) + fluxlat(ig) +fluxsens(ig)) / REAL(nexca) 782 783 cpl_rain(ig,cpl_index) = cpl_rain(ig,cpl_index) + & 783 precip_rain(ig) / FLOAT(nexca)784 precip_rain(ig) / REAL(nexca) 784 785 cpl_snow(ig,cpl_index) = cpl_snow(ig,cpl_index) + & 785 precip_snow(ig) / FLOAT(nexca)786 precip_snow(ig) / REAL(nexca) 786 787 cpl_evap(ig,cpl_index) = cpl_evap(ig,cpl_index) + & 787 evap(ig) / FLOAT(nexca)788 evap(ig) / REAL(nexca) 788 789 cpl_tsol(ig,cpl_index) = cpl_tsol(ig,cpl_index) + & 789 tsurf(ig) / FLOAT(nexca)790 tsurf(ig) / REAL(nexca) 790 791 cpl_fder(ig,cpl_index) = cpl_fder(ig,cpl_index) + & 791 fder(ig) / FLOAT(nexca)792 fder(ig) / REAL(nexca) 792 793 cpl_albe(ig,cpl_index) = cpl_albe(ig,cpl_index) + & 793 albsol(ig) / FLOAT(nexca)794 albsol(ig) / REAL(nexca) 794 795 cpl_taux(ig,cpl_index) = cpl_taux(ig,cpl_index) + & 795 taux(ig) / FLOAT(nexca)796 taux(ig) / REAL(nexca) 796 797 cpl_tauy(ig,cpl_index) = cpl_tauy(ig,cpl_index) + & 797 tauy(ig) / FLOAT(nexca)798 tauy(ig) / REAL(nexca) 798 799 cpl_taumod(ig,cpl_index) = cpl_taumod(ig,cpl_index) + & 799 SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / FLOAT(nexca)800 SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / REAL(nexca) 800 801 ENDDO 801 802 … … 944 945 !************************************************************************************* 945 946 !$OMP MASTER 946 cpl_rriv2D(:,:) = cpl_rriv2D(:,:) + rriv2D(:,:) / FLOAT(nexca)947 cpl_rcoa2D(:,:) = cpl_rcoa2D(:,:) + rcoa2D(:,:) / FLOAT(nexca)947 cpl_rriv2D(:,:) = cpl_rriv2D(:,:) + rriv2D(:,:) / REAL(nexca) 948 cpl_rcoa2D(:,:) = cpl_rcoa2D(:,:) + rcoa2D(:,:) / REAL(nexca) 948 949 !$OMP END MASTER 949 950 … … 998 999 !************************************************************************************* 999 1000 !$OMP MASTER 1000 cpl_rlic2D(:,:) = cpl_rlic2D(:,:) + rlic2D(:,:) / FLOAT(nexca)1001 cpl_rlic2D(:,:) = cpl_rlic2D(:,:) + rlic2D(:,:) / REAL(nexca) 1001 1002 !$OMP END MASTER 1002 1003 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/cv30_routines.F
r879 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 749 749 750 750 #include "cv30param.h" 751 include 'iniprint.h' 751 752 752 753 c inputs: … … 778 779 c local variables: 779 780 integer i,k,nn,j 781 782 CHARACTER (LEN=20) :: modname='cv30_compress' 783 CHARACTER (LEN=80) :: abort_message 780 784 781 785 … … 820 824 821 825 if (nn.ne.ncum) then 822 print*,'strange! nn not equal to ncum: ',nn,ncum 823 stop 826 write(lunout,*)'strange! nn not equal to ncum: ',nn,ncum 827 abort_message = '' 828 CALL abort_gcm (modname,abort_message,1) 824 829 endif 825 830 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/cv3_inicp.F
r966 r1299 13 13 c 14 14 INTEGER iflag_clos 15 CHARACTER (LEN=20) :: modname='cv3_inicp' 16 CHARACTER (LEN=80) :: abort_message 15 17 c 16 18 c -- Mixing probability distribution functions … … 105 107 if (abs(aire-1.0) .gt. 0.02) then 106 108 print *,'WARNING:: AREA OF MIXING PDF IS::', aire 107 stop 109 abort_message = '' 110 CALL abort_gcm (modname,abort_message,1) 108 111 else 109 112 print *,'Area, mean & std deviation are ::', aire,mu,sigma -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/cv3_inip.F
r1146 r1299 12 12 c 13 13 c INTEGER iflag_mix 14 include 'iniprint.h' 15 16 CHARACTER (LEN=20) :: modname='cv3_inip' 17 CHARACTER (LEN=80) :: abort_message 18 14 19 c 15 20 c -- Mixing probability distribution functions … … 104 109 c 105 110 if (abs(aire-1.0) .gt. 0.02) then 106 print *,'WARNING:: AREA OF MIXING PDF IS::', aire 107 stop 111 write(lunout,*)'WARNING:: AREA OF MIXING PDF IS::', aire 112 abort_message = '' 113 CALL abort_gcm (modname,abort_message,1) 108 114 else 109 115 print *,'Area, mean & std deviation are ::', aire,mu,sigma -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/cv3_routines.F
r1277 r1299 1 1 ! 2 ! $ Header: /home/cvsroot/LMDZ4/libf/phylmd/cv3_routines.F,v 1.16 2008-11-06 16:29:35 lmdzadmin Exp$2 ! $Id$ 3 3 ! 4 4 c … … 35 35 integer nd 36 36 real delt ! timestep (seconds) 37 38 CHARACTER (LEN=20) :: modname='cv3_param' 39 CHARACTER (LEN=80) :: abort_message 37 40 38 41 c noff: integer limit for convection (nd-noff) … … 767 770 768 771 #include "cv3param.h" 772 include 'iniprint.h' 769 773 770 774 c inputs: … … 797 801 integer i,k,nn,j 798 802 803 CHARACTER (LEN=20) :: modname='cv3_compress' 804 CHARACTER (LEN=80) :: abort_message 799 805 800 806 do 110 k=1,nl+1 … … 839 845 840 846 if (nn.ne.ncum) then 841 print*,'strange! nn not equal to ncum: ',nn,ncum 842 stop 847 write(lunout,*)'strange! nn not equal to ncum: ',nn,ncum 848 abort_message = '' 849 CALL abort_gcm (modname,abort_message,1) 843 850 endif 844 851 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/cv3a_compress.F
r1146 r1299 76 76 integer i,k,nn,j 77 77 78 CHARACTER (LEN=20) :: modname='cv3a_compress' 79 CHARACTER (LEN=80) :: abort_message 80 78 81 79 82 do 110 k=1,nl+1 … … 127 130 128 131 if (nn.ne.ncum) then 129 print*,'WARNING nn not equal to ncum: ',nn,ncum 130 stop 132 print*,'WARNING nn not equal to ncum: ',nn,ncum 133 abort_message = '' 134 CALL abort_gcm (modname,abort_message,1) 131 135 endif 132 136 … … 157 161 if (nn.ne.ncum) then 158 162 print*,'WARNING nn not equal to ncum: ',nn,ncum 159 stop 163 abort_message = '' 164 CALL abort_gcm (modname,abort_message,1) 160 165 endif 161 166 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/cv3p1_closure.F
r973 r1299 1 ! 2 ! $Id$ 3 ! 1 4 SUBROUTINE cv3p1_closure(nloc,ncum,nd,icb,inb 2 5 : ,pbase,plcl,p,ph,tv,tvp,buoy … … 74 77 real wb,sigmax 75 78 data wb /2./, sigmax /0.1/ 79 80 CHARACTER (LEN=20) :: modname='cv3p1_closure' 81 CHARACTER (LEN=80) :: abort_message 76 82 c 77 83 c print *,' -> cv3p1_closure, Ale ',ale(1) … … 509 515 cbmf1(il) = alp2(il)/(0.5*wb*wb-Cin(il)) 510 516 if(cbmf1(il).EQ.0.AND.alp2(il).NE.0.) THEN 511 print*,'cv3p1_closure cbmf1=0 and alp NE 0 il alp2 alp cin ',il, 517 write(lunout,*) 518 & 'cv3p1_closure cbmf1=0 and alp NE 0 il alp2 alp cin ',il, 512 519 . alp2(il),alp(il),cin(il) 513 STOP 520 abort_message = '' 521 CALL abort_gcm (modname,abort_message,1) 514 522 endif 515 523 cbmfmax(il) = sigmax*wb2(il)*100.*p(il,icb(il)) -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/cv_routines.F
r524 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE cv_param(nd) … … 38 38 #include "cvparam.h" 39 39 integer nd 40 CHARACTER (LEN=20) :: modname='cv_routines' 41 CHARACTER (LEN=80) :: abort_message 40 42 41 43 c noff: integer limit for convection (nd-noff) … … 429 431 c local variables: 430 432 integer i,k,nn 433 CHARACTER (LEN=20) :: modname='cv_compress' 434 CHARACTER (LEN=80) :: abort_message 435 436 include 'iniprint.h' 431 437 432 438 … … 456 462 457 463 if (nn.ne.ncum) then 458 print*,'strange! nn not equal to ncum: ',nn,ncum 459 stop 464 write(lunout,*)'strange! nn not equal to ncum: ',nn,ncum 465 abort_message = '' 466 CALL abort_gcm (modname,abort_message,1) 460 467 endif 461 468 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/cva_driver.F
r1279 r1299 106 106 #include "dimensions.h" 107 107 ccccc#include "dimphy.h" 108 include 'iniprint.h' 109 108 110 c 109 111 c Input … … 419 421 logical, save :: first=.true. 420 422 c$OMP THREADPRIVATE(first) 423 CHARACTER (LEN=20) :: modname='cva_driver' 424 CHARACTER (LEN=80) :: abort_message 421 425 422 426 c … … 563 567 c test niveaux couche alimentation KE 564 568 if(sig1feed1.eq.sig2feed1) then 565 print*,'impossible de choisir sig1feed=sig2feed' 566 print*,'changer la valeur de sig2feed dans physiq.def' 567 stop 569 write(lunout,*)'impossible de choisir sig1feed=sig2feed' 570 write(lunout,*)'changer la valeur de sig2feed dans physiq.def' 571 abort_message = '' 572 CALL abort_gcm (modname,abort_message,1) 568 573 endif 569 574 c -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/fisrtilp.F
r1279 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 135 135 PRINT*, 'fisrtilp, evap_prec:', evap_prec 136 136 PRINT*, 'fisrtilp, cpartiel:', cpartiel 137 IF (ABS(dtime/ FLOAT(ninter)-360.0).GT.0.001) THEN137 IF (ABS(dtime/REAL(ninter)-360.0).GT.0.001) THEN 138 138 PRINT*, 'fisrtilp: Ce n est pas prevu, voir Z.X.Li', dtime 139 139 PRINT*, 'Je prefere un sous-intervalle de 6 minutes' … … 436 436 zfice(i) = zfice(i)**nexpo 437 437 zneb(i) = MAX(rneb(i,k), seuil_neb) 438 radliq(i,k) = zoliq(i)/ FLOAT(ninter+1)438 radliq(i,k) = zoliq(i)/REAL(ninter+1) 439 439 ENDIF 440 440 ENDDO … … 453 453 zcl =cld_lc_con 454 454 zct =1./cld_tau_con 455 zfroi = dtime/ FLOAT(ninter)/zdz(i)*zoliq(i)455 zfroi = dtime/REAL(ninter)/zdz(i)*zoliq(i) 456 456 . *fallvc(zrhol(i)) * zfice(i) 457 457 else 458 458 zcl =cld_lc_lsc 459 459 zct =1./cld_tau_lsc 460 zfroi = dtime/ FLOAT(ninter)/zdz(i)*zoliq(i)460 zfroi = dtime/REAL(ninter)/zdz(i)*zoliq(i) 461 461 . *fallvs(zrhol(i)) * zfice(i) 462 462 endif 463 zchau = zct *dtime/ FLOAT(ninter) * zoliq(i)463 zchau = zct *dtime/REAL(ninter) * zoliq(i) 464 464 . *(1.0-EXP(-(zoliq(i)/zneb(i)/zcl )**2)) *(1.-zfice(i)) 465 465 ztot = zchau + zfroi … … 468 468 ztot = MIN(ztot,zoliq(i)) 469 469 zoliq(i) = MAX(zoliq(i)-ztot , 0.0) 470 radliq(i,k) = radliq(i,k) + zoliq(i)/ FLOAT(ninter+1)470 radliq(i,k) = radliq(i,k) + zoliq(i)/REAL(ninter+1) 471 471 ENDIF 472 472 ENDDO -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/fisrtilp_tr.F
r766 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 140 140 PRINT*, 'fisrtilp, evap_prec:', evap_prec 141 141 PRINT*, 'fisrtilp, cpartiel:', cpartiel 142 IF (ABS(dtime/ FLOAT(ninter)-360.0).GT.0.001) THEN142 IF (ABS(dtime/REAL(ninter)-360.0).GT.0.001) THEN 143 143 PRINT*, 'fisrtilp: Ce n est pas prevu, voir Z.X.Li', dtime 144 144 PRINT*, 'Je prefere un sous-intervalle de 6 minutes' … … 335 335 zfice(i) = zfice(i)**nexpo 336 336 zneb(i) = MAX(rneb(i,k), seuil_neb) 337 radliq(i,k) = zoliq(i)/ FLOAT(ninter+1)337 radliq(i,k) = zoliq(i)/REAL(ninter+1) 338 338 ENDIF 339 339 ENDDO … … 342 342 DO i = 1, klon 343 343 IF (rneb(i,k).GT.0.0) THEN 344 zchau(i) = ct*dtime/ FLOAT(ninter) * zoliq(i)344 zchau(i) = ct*dtime/REAL(ninter) * zoliq(i) 345 345 . * (1.0-EXP(-(zoliq(i)/zneb(i)/cl)**2)) *(1.-zfice(i)) 346 346 zrhol(i) = zrho(i) * zoliq(i) / zneb(i) 347 zfroi(i) = dtime/ FLOAT(ninter)/zdz(i)*zoliq(i)347 zfroi(i) = dtime/REAL(ninter)/zdz(i)*zoliq(i) 348 348 . *fallv(zrhol(i)) * zfice(i) 349 349 ztot(i) = zchau(i) + zfroi(i) … … 351 351 ztot(i) = MIN(MAX(ztot(i),0.0),zoliq(i)) 352 352 zoliq(i) = MAX(zoliq(i)-ztot(i), 0.0) 353 radliq(i,k) = radliq(i,k) + zoliq(i)/ FLOAT(ninter+1)353 radliq(i,k) = radliq(i,k) + zoliq(i)/REAL(ninter+1) 354 354 ENDIF 355 355 ENDDO -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/hines_gwd.F
r1279 r1299 847 847 C Use horizontal isotropy to calculate azimuthal variances at bottom level. 848 848 C 849 AZFAC = 1. / FLOAT(NAZ)849 AZFAC = 1. / REAL(NAZ) 850 850 DO 20 N = 1,NAZ 851 851 DO 10 I = IL1,IL2 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/ini_bilKP_ave.h
r766 r1299 1 1 c 2 c $ Header$2 c $Id$ 3 3 c 4 4 IF (ok_journe) THEN … … 17 17 cym ENDDO 18 18 DO ll=1,klev 19 znivsig(ll)= float(ll)19 znivsig(ll)=REAL(ll) 20 20 ENDDO 21 21 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/ini_bilKP_ins.h
r766 r1299 1 1 c 2 c $ Header$2 c $Id$ 3 3 c 4 4 IF (ok_journe) THEN … … 17 17 cym ENDDO 18 18 DO ll=1,klev 19 znivsig(ll)= float(ll)19 znivsig(ll)=REAL(ll) 20 20 ENDDO 21 21 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/ini_histISCCP.h
r1045 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 IF (ok_isccp) THEN … … 49 49 c 50 50 DO l=1, ncol(n) 51 vertlev(l,n)= float(l)51 vertlev(l,n)=REAL(l) 52 52 ENDDO !ncol 53 53 c -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/ini_histday_seri.h
r776 r1299 1 1 c 2 c $ Header$2 c $Id$ 3 3 c 4 4 cym Ne fonctionnera pas en mode parallele … … 19 19 ENDDO 20 20 DO ll=1,klev 21 znivsig(ll)= float(ll)21 znivsig(ll)=REAL(ll) 22 22 ENDDO 23 23 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/ini_histmthNMC.h
r776 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 IF (ok_mensuel) THEN … … 20 20 cym ENDDO 21 21 DO ll=1,klev 22 znivsig(ll)= float(ll)22 znivsig(ll)=REAL(ll) 23 23 ENDDO 24 24 cym CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/inifis.F
r987 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE inifis(ngrid,nlayer, … … 45 45 cym#include "dimphy.h" 46 46 47 INCLUDE 'iniprint.h' 47 48 REAL prad,pg,pr,pcpp,punjours 48 49 … … 52 53 53 54 REAL ptimestep 55 CHARACTER (LEN=20) :: modname='inifis' 56 CHARACTER (LEN=80) :: abort_message 57 54 58 55 59 IF (nlayer.NE.klev) THEN … … 58 62 PRINT*,'nlayer = ',nlayer 59 63 PRINT*,'klev = ',klev 60 STOP 64 abort_message = '' 65 CALL abort_gcm (modname,abort_message,1) 61 66 ENDIF 62 67 … … 66 71 PRINT*,'ngrid = ',ngrid 67 72 PRINT*,'klon = ',klon 68 STOP 73 abort_message = '' 74 CALL abort_gcm (modname,abort_message,1) 69 75 ENDIF 70 76 71 77 RETURN 72 9999 STOP'Cette version demande les fichier rnatur.dat et surf.def' 78 9999 continue 79 abort_message = 'Cette version demande les fichier rnatur.dat 80 & et surf.def' 81 CALL abort_gcm (modname,abort_message,1) 82 73 83 END -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/iniphysiq.F
r879 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 61 61 62 62 REAL ptimestep 63 CHARACTER (LEN=20) :: modname='iniphysiq' 64 CHARACTER (LEN=80) :: abort_message 63 65 64 66 IF (nlayer.NE.klev) THEN … … 67 69 PRINT*,'nlayer = ',nlayer 68 70 PRINT*,'klev = ',klev 69 STOP 71 abort_message = '' 72 CALL abort_gcm (modname,abort_message,1) 70 73 ENDIF 71 74 … … 75 78 PRINT*,'ngrid = ',ngrid 76 79 PRINT*,'klon = ',klon_glo 77 STOP 80 abort_message = '' 81 CALL abort_gcm (modname,abort_message,1) 78 82 ENDIF 79 83 c$OMP PARALLEL PRIVATE(ibegin,iend) … … 96 100 97 101 RETURN 98 9999 STOP'Cette version demande les fichier rnatur.dat et surf.def' 102 9999 CONTINUE 103 abort_message ='Cette version demande les fichier rnatur.dat 104 & et surf.def' 105 CALL abort_gcm (modname,abort_message,1) 106 99 107 END -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/initphysto.F
r1279 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 C … … 12 12 USE IOIPSL 13 13 USE iophy 14 USE control_mod 15 14 16 implicit none 15 17 … … 52 54 #include "serre.h" 53 55 #include "indicesol.h" 54 #include "control.h"55 56 cym#include "dimphy.h" 56 57 … … 108 109 C 109 110 DO l=1,llm 110 nivsigs(l)= float(l)111 nivsigs(l)=REAL(l) 111 112 ENDDO 112 113 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/initrrnpb.F90
r1279 r1299 1 1 ! 2 ! $Id 2 ! $Id$ 3 3 ! 4 4 SUBROUTINE initrrnpb(ftsol,pctsrf,masktr,fshtr,hsoltr,tautr,vdeptr,scavtr) … … 39 39 REAL :: s 40 40 41 CHARACTER (LEN=20) :: modname='initrrnpb' 42 CHARACTER (LEN=80) :: abort_message 43 44 41 45 WRITE(*,*)'PASSAGE initrrnpb ...' 42 46 ! 43 47 ! Radon it = 1 44 48 !---------------- 45 IF ( nbtr .LE. 0 ) STOP '**PHYTRAC:initrrnpb:** nbtr < 0; verifier RN dans traceur.def' 49 IF ( nbtr .LE. 0 ) then 50 abort_message = '**PHYTRAC:initrrnpb:** nbtr < 0; verifier RN dans traceur.def' 51 CALL abort_gcm (modname,abort_message,1) 52 ENDIF 46 53 it = 1 47 54 s = 1.E4 ! Source: atome par m2 … … 68 75 ! 210Pb it = 2 69 76 !---------------- 70 IF ( nbtr .LE. 1 ) STOP '**PHYTRAC**:initrrnpb:** nbtr <= 1; verifier PB dans traceur.def' 77 IF ( nbtr .LE. 1 ) THEN 78 abort_message='**PHYTRAC**:initrrnpb:** nbtr <= 1; verifier PB dans traceur.def' 79 CALL abort_gcm (modname,abort_message,1) 80 ENDIF 71 81 it = 2 72 82 s = 0. ! Pas de source -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/mod_phys_lmdz_omp_data.F90
r1001 r1299 1 1 ! 2 !$ Header$2 !$Id$ 3 3 ! 4 4 MODULE mod_phys_lmdz_omp_data … … 27 27 INTEGER :: i 28 28 29 CHARACTER (LEN=20) :: modname='Init_phys_lmdz_omp_data' 30 CHARACTER (LEN=80) :: abort_message 31 32 29 33 #ifdef CPP_OMP 30 34 INTEGER :: OMP_GET_NUM_THREADS … … 51 55 is_omp_root=.TRUE. 52 56 ELSE 53 PRINT *,'ANORMAL : OMP_MASTER /= 0'54 STOP57 abort_message = 'ANORMAL : OMP_MASTER /= 0' 58 CALL abort_gcm (modname,abort_message,1) 55 59 ENDIF 56 60 !$OMP END MASTER -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/o3cm.F
r524 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE o3cm (amb, bmb, sortie, ntab) … … 19 19 c====================================================================== 20 20 external mbtozm 21 CHARACTER (LEN=20) :: modname='' 22 CHARACTER (LEN=80) :: abort_message 21 23 c====================================================================== 22 24 c la fonction en ligne w(x) donne le profil de l'ozone en fonction … … 27 29 w(x) = wp/h * EXP((x-xp)/h)/ (con+EXP((x-xp)/h))**2 28 30 c====================================================================== 29 IF (ntab .GT. 499) STOP 'BIG ntab' 30 xincr = (bmb-amb) / FLOAT(ntab) 31 IF (ntab .GT. 499) THEN 32 abort_message = 'BIG ntab' 33 CALL abort_gcm (modname,abort_message,1) 34 ENDIF 35 xincr = (bmb-amb) / REAL(ntab) 31 36 xtab(1) = amb 32 37 DO n = 2, ntab -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/orografi.F
r1279 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE drag_noro (nlon,nlev,dtime,paprs,pplay, … … 1497 1497 * ZDVDT(KLON) 1498 1498 REAL ZHCRIT(KLON,KLEV) 1499 CHARACTER (LEN=20) :: modname='orografi' 1500 CHARACTER (LEN=80) :: abort_message 1499 1501 C----------------------------------------------------------------------- 1500 1502 C … … 1504 1506 LIFTHIGH=.FALSE. 1505 1507 1506 IF(NLON.NE.KLON.OR.NLEV.NE.KLEV)STOP 1508 IF(NLON.NE.KLON.OR.NLEV.NE.KLEV)THEN 1509 abort_message = 'pb dimension' 1510 CALL abort_gcm (modname,abort_message,1) 1511 ENDIF 1507 1512 ZCONS1=1./RD 1508 1513 cym KLEVM1=KLEV-1 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/orografi_strato.F
r1001 r1299 89 89 REAL pt(klon,klev), pu(klon,klev), pv(klon,klev) 90 90 REAL papmf(klon,klev),papmh(klon,klev+1) 91 CHARACTER (LEN=20) :: modname='orografi_strato' 92 CHARACTER (LEN=80) :: abort_message 91 93 c 92 94 c INITIALIZE OUTPUT VARIABLES … … 1680 1682 logical lifthigh 1681 1683 real zcons1,ztmst 1684 CHARACTER (LEN=20) :: modname='orolift_strato' 1685 CHARACTER (LEN=80) :: abort_message 1686 1682 1687 1683 1688 C----------------------------------------------------------------------- … … 1688 1693 lifthigh=.false. 1689 1694 1690 if(nlon.ne.klon.or.nlev.ne.klev)stop 1695 if(nlon.ne.klon.or.nlev.ne.klev) then 1696 abort_message = 'pb dimension' 1697 CALL abort_gcm (modname,abort_message,1) 1698 ENDIF 1691 1699 zcons1=1./rd 1692 1700 ztmst=ptsphy -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/pbl_surface_mod.F90
r1282 r1299 22 22 USE climb_wind_mod, ONLY : climb_wind_down, climb_wind_up 23 23 USE coef_diff_turb_mod, ONLY : coef_diff_turb 24 USE control_mod 25 24 26 25 27 IMPLICIT NONE … … 257 259 INCLUDE "YOETHF.h" 258 260 INCLUDE "temps.h" 259 INCLUDE "control.h"260 261 ! Input variables 261 262 !**************************************************************************************** … … 657 658 tabindx(:)=0. 658 659 DO i=1,knon 659 tabindx(i)= FLOAT(i)660 tabindx(i)=REAL(i) 660 661 END DO 661 662 debugtab(:,:) = 0. -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/phyredem.F
r1298 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 14 14 USE traclmdz_mod, ONLY : traclmdz_to_restart 15 15 USE infotrac 16 USE control_mod 17 16 18 17 19 IMPLICIT none … … 24 26 #include "dimsoil.h" 25 27 #include "clesphys.h" 26 #include "control.h"27 28 #include "temps.h" 28 29 #include "thermcell.h" -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/phys_state_var_mod.F90
r1279 r1299 289 289 SUBROUTINE phys_state_var_init(read_climoz) 290 290 use dimphy 291 USE control_mod 291 292 use aero_mod 292 293 IMPLICIT NONE … … 301 302 302 303 #include "indicesol.h" 303 #include "control.h"304 304 ALLOCATE(rlat(klon), rlon(klon)) 305 305 ALLOCATE(pctsrf(klon,nbsrf)) … … 411 411 SUBROUTINE phys_state_var_end 412 412 use dimphy 413 use control_mod 413 414 IMPLICIT NONE 414 415 #include "indicesol.h" 415 #include "control.h"416 416 417 417 deallocate(rlat, rlon, pctsrf, ftsol, falb1, falb2) -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/physiq.F
r1298 r1299 39 39 use conf_phys_m, only: conf_phys 40 40 use radlwsw_m, only: radlwsw 41 USE control_mod 42 41 43 42 44 IMPLICIT none … … 97 99 #include "dimsoil.h" 98 100 #include "clesphys.h" 99 #include "control.h"100 101 #include "temps.h" 101 102 #include "iniprint.h" … … 1348 1349 ENDIF 1349 1350 c 1350 IF (dtime* FLOAT(radpas).GT.21600..AND.cycle_diurne) THEN1351 IF (dtime*REAL(radpas).GT.21600..AND.cycle_diurne) THEN 1351 1352 WRITE(lunout,*)'Nbre d appels au rayonnement insuffisant' 1352 1353 WRITE(lunout,*)"Au minimum 4 appels par jour si cycle diurne" … … 1518 1519 CALL VTb(VTinca) 1519 1520 ! iii = MOD(NINT(xjour),360) 1520 ! calday = FLOAT(iii) + jH_cur1521 calday = FLOAT(days_elapsed) + jH_cur1521 ! calday = REAL(iii) + jH_cur 1522 calday = REAL(days_elapsed) + jH_cur 1522 1523 WRITE(lunout,*) 'initial time chemini', days_elapsed, calday 1523 1524 … … 1801 1802 ! solarlong0 1802 1803 if (solarlong0<-999.) then 1803 CALL orbite( FLOAT(days_elapsed+1),zlongi,dist)1804 CALL orbite(REAL(days_elapsed+1),zlongi,dist) 1804 1805 else 1805 1806 zlongi=solarlong0 ! longitude solaire vraie … … 1812 1813 ! Avec ou sans cycle diurne 1813 1814 IF (cycle_diurne) THEN 1814 zdtime=dtime* FLOAT(radpas) ! pas de temps du rayonnement (s)1815 zdtime=dtime*REAL(radpas) ! pas de temps du rayonnement (s) 1815 1816 CALL zenang(zlongi,jH_cur,zdtime,rlat,rlon,rmu0,fract) 1816 1817 ELSE … … 1961 1962 1962 1963 IF (iflag_con.EQ.1) THEN 1963 stop'reactiver le call conlmd dans physiq.F' 1964 abort_message ='reactiver le call conlmd dans physiq.F' 1965 CALL abort_gcm (modname,abort_message,1) 1964 1966 c CALL conlmd (dtime, paprs, pplay, t_seri, q_seri, conv_q, 1965 1967 c . d_t_con, d_q_con, … … 2205 2207 za = 0.0 2206 2208 DO i = 1, klon 2207 za = za + airephy(i)/ FLOAT(klon)2209 za = za + airephy(i)/REAL(klon) 2208 2210 zx_t = zx_t + (rain_con(i)+ 2209 . snow_con(i))*airephy(i)/ FLOAT(klon)2211 . snow_con(i))*airephy(i)/REAL(klon) 2210 2212 ENDDO 2211 2213 zx_t = zx_t/za*dtime … … 2599 2601 za = 0.0 2600 2602 DO i = 1, klon 2601 za = za + airephy(i)/ FLOAT(klon)2603 za = za + airephy(i)/REAL(klon) 2602 2604 zx_t = zx_t + (rain_lsc(i) 2603 . + snow_lsc(i))*airephy(i)/ FLOAT(klon)2605 . + snow_lsc(i))*airephy(i)/REAL(klon) 2604 2606 ENDDO 2605 2607 zx_t = zx_t/za*dtime … … 2823 2825 CALL VTe(VTphysiq) 2824 2826 CALL VTb(VTinca) 2825 calday = FLOAT(days_elapsed + 1) + jH_cur2827 calday = REAL(days_elapsed + 1) + jH_cur 2826 2828 2827 2829 call chemtime(itap+itau_phy-1, date0, dtime) -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/phystokenc.F
r1146 r1299 13 13 USE infotrac, ONLY : nqtot 14 14 USE iophy 15 USE control_mod 16 15 17 IMPLICIT none 16 18 … … 24 26 #include "tracstoke.h" 25 27 #include "indicesol.h" 26 #include "control.h"27 28 c====================================================================== 28 29 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/phytrac.F90
r1279 r1299 33 33 USE traclmdz_mod 34 34 USE tracinca_mod 35 USE control_mod 36 35 37 36 38 … … 43 45 INCLUDE "temps.h" 44 46 INCLUDE "paramet.h" 45 INCLUDE "control.h"46 47 INCLUDE "thermcell.h" 47 48 !========================================================================== -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/read_pstoke.F
r1146 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 18 18 C****************************************************************************** 19 19 20 use netcdf 21 USE dimphy 20 use netcdf 21 USE dimphy 22 USE control_mod 23 22 24 IMPLICIT NONE 23 25 … … 33 35 #include "serre.h" 34 36 #include "indicesol.h" 35 #include "control.h"36 37 cccc#include "dimphy.h" 37 38 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/read_pstoke0.F
r1146 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 19 19 use netcdf 20 20 USE dimphy 21 USE control_mod 22 21 23 IMPLICIT NONE 22 24 … … 32 34 #include "serre.h" 33 35 #include "indicesol.h" 34 #include "control.h"35 36 cccc#include "dimphy.h" 36 37 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/readaerosol.F90
r1279 r1299 128 128 DO i = 1, klon 129 129 pt_out(i,k,it) = & 130 pt_out(i,k,it) - FLOAT(iyr_in-iyr1)/FLOAT(iyr2-iyr1) * &130 pt_out(i,k,it) - REAL(iyr_in-iyr1)/REAL(iyr2-iyr1) * & 131 131 (pt_out(i,k,it) - pt_2(i,k,it)) 132 132 END DO … … 135 135 DO i = 1, klon 136 136 psurf(i,it) = & 137 psurf(i,it) - FLOAT(iyr_in-iyr1)/FLOAT(iyr2-iyr1) * &137 psurf(i,it) - REAL(iyr_in-iyr1)/REAL(iyr2-iyr1) * & 138 138 (psurf(i,it) - psurf2(i,it)) 139 139 140 140 load(i,it) = & 141 load(i,it) - FLOAT(iyr_in-iyr1)/FLOAT(iyr2-iyr1) * &141 load(i,it) - REAL(iyr_in-iyr1)/REAL(iyr2-iyr1) * & 142 142 (load(i,it) - load2(i,it)) 143 143 END DO … … 493 493 spole = spole + varyear(i,jjm+1,k,imth) 494 494 END DO 495 npole = npole/ FLOAT(iim)496 spole = spole/ FLOAT(iim)495 npole = npole/REAL(iim) 496 spole = spole/REAL(iim) 497 497 varyear(:,1, k,imth) = npole 498 498 varyear(:,jjm+1,k,imth) = spole -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/readaerosol_interp.F90
r1279 r1299 126 126 IF(mpi_rank == 0 .AND. debug)then 127 127 ! 0.02 is about 0.5/24, namly less than half an hour 128 OLDNEWDAY = (r_day- FLOAT(iday) < 0.02)128 OLDNEWDAY = (r_day-REAL(iday) < 0.02) 129 129 ! Once per day, update aerosol fields 130 130 lmt_pas = NINT(86400./pdtphys) 131 PRINT*,'r_day- FLOAT(iday) =',r_day-FLOAT(iday)131 PRINT*,'r_day-REAL(iday) =',r_day-REAL(iday) 132 132 PRINT*,'itap =',itap 133 133 PRINT*,'pdtphys =',pdtphys … … 233 233 ! 234 234 DO i = 2, 13 235 month_len(i) = float(ioget_mon_len(year_cur, i-1))235 month_len(i) = REAL(ioget_mon_len(year_cur, i-1)) 236 236 CALL ymds2ju(year_cur, i-1, 1, 0.0, month_start(i)) 237 237 ENDDO 238 month_len(1) = float(ioget_mon_len(year_cur-1, 12))238 month_len(1) = REAL(ioget_mon_len(year_cur-1, 12)) 239 239 CALL ymds2ju(year_cur-1, 12, 1, 0.0, month_start(1)) 240 month_len(14) = float(ioget_mon_len(year_cur+1, 1))240 month_len(14) = REAL(ioget_mon_len(year_cur+1, 1)) 241 241 CALL ymds2ju(year_cur+1, 1, 1, 0.0, month_start(14)) 242 242 month_mid(:) = month_start (:) + month_len(:)/2. -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/surf_ocean_mod.F90
r1146 r1299 141 141 !**************************************************************************************** 142 142 IF ( MINVAL(rmu0) == MAXVAL(rmu0) .AND. MINVAL(rmu0) == -999.999 ) THEN 143 CALL alboc( FLOAT(jour),rlat,alb_eau)143 CALL alboc(REAL(jour),rlat,alb_eau) 144 144 ELSE ! diurnal cycle 145 145 CALL alboc_cd(rmu0,alb_eau) -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/sw_aeroAR4.F90
r1279 r1299 186 186 !$OMP THREADPRIVATE(AEROSOLFEEDBACK_ACTIVE) 187 187 188 CHARACTER (LEN=20) :: modname='sw_aeroAR4' 189 CHARACTER (LEN=80) :: abort_message 190 188 191 IF ((.not. ok_ade) .and. (AEROSOLFEEDBACK_ACTIVE .ge. 2)) THEN 189 print*,'Error: direct effect is not activated but assumed to be active - see sw_aeroAR4.F90'190 stop192 abort_message ='Error: direct effect is not activated but assumed to be active - see sw_aeroAR4.F90' 193 CALL abort_gcm (modname,abort_message,1) 191 194 ENDIF 192 195 AEROSOLFEEDBACK_ACTIVE=MIN(MAX(AEROSOLFEEDBACK_ACTIVE,0),3) 193 196 IF (AEROSOLFEEDBACK_ACTIVE .gt. 3) THEN 194 print*,'Error: AEROSOLFEEDBACK_ACTIVE options go only until 3'195 stop197 abort_message ='Error: AEROSOLFEEDBACK_ACTIVE options go only until 3' 198 CALL abort_gcm (modname,abort_message,1) 196 199 ENDIF 197 200 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell.F
r987 r1299 1 ! 2 ! $Id$ 3 ! 1 4 SUBROUTINE calcul_sec(ngrid,nlay,ptimestep 2 5 s ,pplay,pplev,pphi,zlev … … 132 135 character*10 str10 133 136 137 character (len=20) :: modname='calcul_sec' 138 character (len=80) :: abort_message 139 140 134 141 ! LOGICAL vtest(klon),down 135 142 … … 530 537 c write(8,*)zmax(ig),lmax(ig),lentr(ig),lmin(ig) 531 538 enddo 532 con stop pe après les calculs de zmax et wmax539 con stope après les calculs de zmax et wmax 533 540 RETURN 534 541 … … 776 783 do ig=1,ngrid 777 784 if(fracd(ig,l).lt.0.1) then 778 stop'fracd trop petit' 785 abort_message = 'fracd trop petit' 786 CALL abort_gcm (modname,abort_message,1) 787 779 788 else 780 789 c vitesse descendante "diagnostique" … … 860 869 cRC 861 870 if (w2di.eq.1) then 862 fm0=fm0+ptimestep*(fm-fm0)/ float(tho)863 entr0=entr0+ptimestep*(entr-entr0)/ float(tho)871 fm0=fm0+ptimestep*(fm-fm0)/REAL(tho) 872 entr0=entr0+ptimestep*(entr-entr0)/REAL(tho) 864 873 else 865 874 fm0=fm -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcellV0_main.F90
r1294 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE thermcellV0_main(itap,ngrid,nlay,ptimestep & … … 165 165 character*2 str2 166 166 character*10 str10 167 168 character (len=20) :: modname='thermcellV0_main' 169 character (len=80) :: abort_message 167 170 168 171 EXTERNAL SCOPY … … 484 487 ! Test valable seulement en 1D mais pas genant 485 488 if (.not. (f0(1).ge.0.) ) then 486 stop 'Dans thermcell_main' 489 abort_message = 'Dans thermcell_main f0(1).lt.0 ' 490 CALL abort_gcm (modname,abort_message,1) 487 491 endif 488 492 … … 827 831 write(6,'(i3,7f10.3)') k,pplay(i,k),ztv(i,k),1000*po(i,k),ztva(i,k),1000*zqla(i,k),f_star(i,k),zw2(i,k) 828 832 enddo 829 ! stop830 833 endif 831 834 enddo … … 863 866 864 867 REAL f(ngrid) 868 869 character (len=20) :: modname='thermcellV0_main' 870 character (len=80) :: abort_message 865 871 866 872 do ig=1,ngrid … … 885 891 print*,'zmax_sec',zmax_sec(ig) 886 892 print*,'wmax_sec',wmax_sec(ig) 887 stop 893 abort_message = 'zdenom<1.e-14' 894 CALL abort_gcm (modname,abort_message,1) 888 895 endif 889 896 if ((zmax_sec(ig).gt.1.e-10).and.(iflag_thermals_ed.eq.0)) then … … 1338 1345 ! if(detr_star(ig,l).GT.1.) THEN 1339 1346 ! print*,'th_plumeAFT ig l detr_star f0 1/f0',ig,l,detr_star(ig,l),f0(ig), & 1340 ! & float(1)/f0(ig)1347 ! & REAL(1)/f0(ig) 1341 1348 ! endif 1342 1349 !IM 060508 end … … 1656 1663 1657 1664 if (zw2(ig,l+1)>0. .and. zw2(ig,l+1).lt.1.e-10) then 1658 ! stop'On tombe sur le cas particulier de thermcell_dry'1659 1665 print*,'On tombe sur le cas particulier de thermcell_plume' 1660 1666 zw2(ig,l+1)=0. … … 1832 1838 1833 1839 if (zw2(ig,l+1)>0. .and. zw2(ig,l+1).lt.1.e-10) then 1834 ! stop'On tombe sur le cas particulier de thermcell_dry'1835 1840 ! print*,'On tombe sur le cas particulier de thermcell_dry' 1836 1841 zw2(ig,l+1)=0. -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell_dq.F90
r983 r1299 31 31 real ztimestep 32 32 integer niter,iter 33 CHARACTER (LEN=20) :: modname='thermcell_dq' 34 CHARACTER (LEN=80) :: abort_message 33 35 34 36 … … 42 44 if (entr(ig,k).gt.zzm) then 43 45 print*,'entr dt > m ',entr(ig,k)*ptimestep,masse(ig,k) 44 stop 46 abort_message = '' 47 CALL abort_gcm (modname,abort_message,1) 45 48 endif 46 49 enddo -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell_dry.F90
r1294 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE thermcell_dry(ngrid,nlay,zlev,pphi,ztv,alim_star, & … … 39 39 REAL linter(ngrid),zlevinter(ngrid) 40 40 INTEGER lmix(ngrid),lmax(ngrid),lmin(ngrid) 41 CHARACTER (LEN=20) :: modname='thermcell_dry' 42 CHARACTER (LEN=80) :: abort_message 41 43 42 44 !initialisations -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell_flux.F90
r1146 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 … … 51 51 !$OMP THREADPRIVATE(fomass_max,alphamax) 52 52 53 character (len=20) :: modname='thermcell_flux' 54 character (len=80) :: abort_message 55 53 56 fomass_max=0.5 54 57 alphamax=0.7 … … 92 95 print*,'alim_star(ig,l)',alim_star(ig,l) 93 96 print*,'detr_star(ig,l)',detr_star(ig,l) 94 ! stop95 97 endif 96 98 else … … 100 102 print*,'alim_star(ig,l)',alim_star(ig,l) 101 103 print*,'detr_star(ig,l)',detr_star(ig,l) 102 stop 104 abort_message = '' 105 CALL abort_gcm (modname,abort_message,1) 103 106 endif 104 107 endif … … 264 267 if (entr(ig,l)<0.) then 265 268 print*,'N1 ig,l,entr',ig,l,entr(ig,l) 266 stop 'entr negatif' 269 abort_message = 'entr negatif' 270 CALL abort_gcm (modname,abort_message,1) 267 271 endif 268 272 if (detr(ig,l).gt.fm(ig,l)) then … … 292 296 print*,'entr(ig,l)',entr(ig,l) 293 297 print*,'fm(ig,l)',fm(ig,l) 294 stop 'probleme dans thermcell flux' 298 abort_message = 'probleme dans thermcell flux' 299 CALL abort_gcm (modname,abort_message,1) 295 300 endif 296 301 enddo … … 319 324 print*,'detr(ig,l)',detr(ig,l) 320 325 print*,'fm(ig,l)',fm(ig,l) 321 stop 'probleme dans thermcell flux' 326 abort_message = 'probleme dans thermcell flux' 327 CALL abort_gcm (modname,abort_message,1) 322 328 endif 323 329 enddo … … 420 426 print*,'fm(ig,l+1)',fm(ig,l+1) 421 427 print*,'fm(ig,l)',fm(ig,l) 422 stop 'probleme dans thermcell_flux' 428 abort_message = 'probleme dans thermcell_flux' 429 CALL abort_gcm (modname,abort_message,1) 423 430 endif 424 431 entr(ig,l+1)=entr(ig,l+1)-ddd … … 478 485 character*3 descr 479 486 487 character (len=20) :: modname='thermcell_flux' 488 character (len=80) :: abort_message 489 480 490 lm=lmax(igout)+5 481 491 if(lm.gt.klev) lm=klev … … 500 510 print*,'detr(igout,l)',detr(igout,l) 501 511 print*,'fm(igout,l)',fm(igout,l) 502 stop 512 abort_message = '' 513 CALL abort_gcm (modname,abort_message,1) 503 514 endif 504 515 enddo -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell_flux2.F90
r1146 r1299 1 ! 2 ! $Id$ 3 ! 1 4 SUBROUTINE thermcell_flux2(ngrid,klev,ptimestep,masse, & 2 5 & lalim,lmax,alim_star, & … … 47 50 save fomass_max,alphamax 48 51 52 character (len=20) :: modname='thermcell_flux2' 53 character (len=80) :: abort_message 54 49 55 fomass_max=0.5 50 56 alphamax=0.7 … … 88 94 print*,'alim_star(ig,l)',alim_star(ig,l) 89 95 print*,'detr_star(ig,l)',detr_star(ig,l) 90 ! stop91 96 endif 92 97 else … … 96 101 print*,'alim_star(ig,l)',alim_star(ig,l) 97 102 print*,'detr_star(ig,l)',detr_star(ig,l) 98 stop 103 abort_message = '' 104 CALL abort_gcm (modname,abort_message,1) 99 105 endif 100 106 endif … … 256 262 if (entr(ig,l)<0.) then 257 263 print*,'N1 ig,l,entr',ig,l,entr(ig,l) 258 stop 'entr negatif' 264 abort_message = 'entr negatif' 265 CALL abort_gcm (modname,abort_message,1) 259 266 endif 260 267 if (detr(ig,l).gt.fm(ig,l)) then … … 285 292 print*,'entr(ig,l)',entr(ig,l) 286 293 print*,'fm(ig,l)',fm(ig,l) 287 stop 'probleme dans thermcell flux' 294 abort_message = 'probleme dans thermcell flux' 295 CALL abort_gcm (modname,abort_message,1) 288 296 endif 289 297 enddo … … 312 320 print*,'detr(ig,l)',detr(ig,l) 313 321 print*,'fm(ig,l)',fm(ig,l) 314 stop 'probleme dans thermcell flux' 322 abort_message = 'probleme dans thermcell flux' 323 CALL abort_gcm (modname,abort_message,1) 315 324 endif 316 325 enddo … … 413 422 print*,'fm(ig,l+1)',fm(ig,l+1) 414 423 print*,'fm(ig,l)',fm(ig,l) 415 stop 'probleme dans thermcell_flux' 424 abort_message = 'probleme dans thermcell_flux' 425 CALL abort_gcm (modname,abort_message,1) 416 426 endif 417 427 entr(ig,l+1)=entr(ig,l+1)-ddd -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell_main.F90
r1294 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE thermcell_main(itap,ngrid,nlay,ptimestep & … … 170 170 character*2 str2 171 171 character*10 str10 172 173 character (len=20) :: modname='thermcell_main' 174 character (len=80) :: abort_message 172 175 173 176 EXTERNAL SCOPY … … 466 469 ! Test valable seulement en 1D mais pas genant 467 470 if (.not. (f0(1).ge.0.) ) then 468 stop'Dans thermcell_main' 471 abort_message = '.not. (f0(1).ge.0.)' 472 CALL abort_gcm (modname,abort_message,1) 469 473 endif 470 474 … … 781 785 if (prt_level.ge.1) print*,'thermcell_main FIN OK' 782 786 783 ! if(icount.eq.501) stop'au pas 301 dans thermcell_main'784 787 return 785 788 end … … 817 820 write(6,'(i3,7f10.3)') k,pplay(i,k),ztv(i,k),1000*po(i,k),ztva(i,k),1000*zqla(i,k),f_star(i,k),zw2(i,k) 818 821 enddo 819 ! stop820 822 endif 821 823 enddo -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell_old.F
r987 r1299 112 112 character (len=10) :: str10 113 113 114 character (len=20) :: modname='thermcell2002' 115 character (len=80) :: abort_message 116 114 117 LOGICAL vtest(klon),down 115 118 … … 336 339 if(w2di.eq.2) then 337 340 entr(ig,k)=entr(ig,k)+ 338 s ptimestep*(zzz-entr(ig,k))/ float(tho)341 s ptimestep*(zzz-entr(ig,k))/REAL(tho) 339 342 else 340 343 entr(ig,k)=zzz … … 379 382 c print*,'ig,l+1,ztv(ig,l+1)' 380 383 c print*, ig,l+1,ztv(ig,l+1) 381 c stop'dans thermiques'382 384 c endif 383 385 zw2(ig,l+1)=2.*RG*(ztv(ig,l)-ztv(ig,l+1))/ztv(ig,l+1) … … 395 397 c print*,'Tv ',(ztv(ig,ll),ll=1,klev) 396 398 c print*,'Entr ',(entr(ig,ll),ll=1,klev) 397 c stop'dans thermiques'398 399 c endif 399 400 ztva(ig,l)=(fmc(ig,l)*ztva(ig,l-1)+entr(ig,l)*ztv(ig,l)) … … 517 518 do ig=1,ngrid 518 519 if(fracd(ig,l).lt.0.1) then 519 stop'fracd trop petit' 520 else 520 abort_message = 'fracd trop petit' 521 CALL abort_gcm (modname,abort_message,1) 522 else 521 523 c vitesse descendante "diagnostique" 522 524 wd(ig,l)=fm(ig,l)/(fracd(ig,l)*rhobarz(ig,l)) … … 588 590 589 591 if (w2di.eq.1) then 590 fm0=fm0+ptimestep*(fm-fm0)/ float(tho)591 entr0=entr0+ptimestep*(entr-entr0)/ float(tho)592 fm0=fm0+ptimestep*(fm-fm0)/REAL(tho) 593 entr0=entr0+ptimestep*(entr-entr0)/REAL(tho) 592 594 else 593 595 fm0=fm … … 1000 1002 character*2 str2 1001 1003 character*10 str10 1004 1005 character (len=20) :: modname='thermcell_cld' 1006 character (len=80) :: abort_message 1002 1007 1003 1008 LOGICAL vtest(klon),down … … 1855 1860 if (l.eq.klev) then 1856 1861 print*,'THERMCELL PB ig=',ig,' l=',l 1857 stop 1862 abort_message = 'THERMCELL PB' 1863 CALL abort_gcm (modname,abort_message,1) 1858 1864 endif 1859 1865 ! if ((zw2(ig,l+1).gt.1.e-10).and.(zw2(ig,l).gt.1.e-10).and. … … 2164 2170 do ig=1,ngrid 2165 2171 if(fracd(ig,l).lt.0.1.and.(test(ig).eq.1)) then 2166 stop'fracd trop petit' 2172 abort_message = 'fracd trop petit' 2173 CALL abort_gcm (modname,abort_message,1) 2167 2174 else 2168 2175 c vitesse descendante "diagnostique" … … 2262 2269 2263 2270 if (w2di.eq.1) then 2264 fm0=fm0+ptimestep*(fm-fm0)/ float(tho)2265 entr0=entr0+ptimestep*(alim+entr-entr0)/ float(tho)2271 fm0=fm0+ptimestep*(fm-fm0)/REAL(tho) 2272 entr0=entr0+ptimestep*(alim+entr-entr0)/REAL(tho) 2266 2273 else 2267 2274 fm0=fm … … 2747 2754 character*10 str10 2748 2755 2756 character (len=20) :: modname='thermcell_eau' 2757 character (len=80) :: abort_message 2758 2749 2759 LOGICAL vtest(klon),down 2750 2760 LOGICAL Zsat(klon) … … 3410 3420 do ig=1,ngrid 3411 3421 if(fracd(ig,l).lt.0.1) then 3412 stop'fracd trop petit' 3422 abort_message = 'fracd trop petit' 3423 CALL abort_gcm (modname,abort_message,1) 3413 3424 else 3414 3425 c vitesse descendante "diagnostique" … … 3481 3492 3482 3493 if (w2di.eq.1) then 3483 fm0=fm0+ptimestep*(fm-fm0)/ float(tho)3484 entr0=entr0+ptimestep*(entr-entr0)/ float(tho)3494 fm0=fm0+ptimestep*(fm-fm0)/REAL(tho) 3495 entr0=entr0+ptimestep*(entr-entr0)/REAL(tho) 3485 3496 else 3486 3497 fm0=fm … … 3848 3859 character*10 str10 3849 3860 3861 character (len=20) :: modname='thermcell' 3862 character (len=80) :: abort_message 3863 3850 3864 LOGICAL vtest(klon),down 3851 3865 … … 4394 4408 do ig=1,ngrid 4395 4409 if(fracd(ig,l).lt.0.1) then 4396 stop'fracd trop petit' 4410 abort_message = 'fracd trop petit' 4411 CALL abort_gcm (modname,abort_message,1) 4397 4412 else 4398 4413 c vitesse descendante "diagnostique" … … 4477 4492 cRC 4478 4493 if (w2di.eq.1) then 4479 fm0=fm0+ptimestep*(fm-fm0)/ float(tho)4480 entr0=entr0+ptimestep*(entr-entr0)/ float(tho)4494 fm0=fm0+ptimestep*(fm-fm0)/REAL(tho) 4495 entr0=entr0+ptimestep*(entr-entr0)/REAL(tho) 4481 4496 else 4482 4497 fm0=fm … … 5257 5272 character*10 str10 5258 5273 5274 character (len=20) :: modname='thermcell_sec' 5275 character (len=80) :: abort_message 5276 5259 5277 LOGICAL vtest(klon),down 5260 5278 … … 5822 5840 do ig=1,ngrid 5823 5841 if(fracd(ig,l).lt.0.1) then 5824 stop'fracd trop petit' 5842 abort_message = 'fracd trop petit' 5843 CALL abort_gcm (modname,abort_message,1) 5825 5844 else 5826 5845 c vitesse descendante "diagnostique" … … 5905 5924 cRC 5906 5925 if (w2di.eq.1) then 5907 fm0=fm0+ptimestep*(fm-fm0)/ float(tho)5908 entr0=entr0+ptimestep*(entr-entr0)/ float(tho)5926 fm0=fm0+ptimestep*(fm-fm0)/REAL(tho) 5927 entr0=entr0+ptimestep*(entr-entr0)/REAL(tho) 5909 5928 else 5910 5929 fm0=fm -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell_plume.F90
r1294 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE thermcell_plume(itap,ngrid,klev,ptimestep,ztv,zthl,po,zl,rhobarz, & … … 436 436 if (zw2(ig,l+1)>0. .and. zw2(ig,l+1).lt.1.e-10) then 437 437 ! stop'On tombe sur le cas particulier de thermcell_dry' 438 print*,'On tombe sur le cas particulier de thermcell_plume' 438 write(lunout,*) & 439 & 'On tombe sur le cas particulier de thermcell_plume' 439 440 zw2(ig,l+1)=0. 440 441 linter(ig)=l+1 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/tracinca_mod.F90
r1279 r1299 45 45 USE vampir 46 46 USE comgeomphy 47 USE control_mod 48 47 49 48 50 IMPLICIT NONE 49 51 50 52 INCLUDE "indicesol.h" 51 INCLUDE "control.h"52 53 INCLUDE "dimensions.h" 53 54 INCLUDE "paramet.h" … … 125 126 CALL VTb(VTinca) 126 127 127 calday = FLOAT(julien) + gmtime128 calday = REAL(julien) + gmtime 128 129 ncsec = NINT (86400.*gmtime) 129 130 -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/undefSTD.F
r1279 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE undefSTD(nlevSTD,itap,tlevSTD, … … 13 13 c I. Musat : 09.2004 14 14 c 15 c Calcul * du nombre de pas de temps ( FLOAT(ecrit_XXX)-tnondef))15 c Calcul * du nombre de pas de temps (REAL(ecrit_XXX)-tnondef)) 16 16 c ou la variable tlevSTD est bien definie (.NE.1.E+20), 17 17 c et -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/write_histISCCP.h
r1045 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 IF (ok_isccp) THEN … … 77 77 . meantaucld(:,n)) 78 78 c 79 zx_tmp_fi2d(1:klon)= float(seed(1:klon,n))79 zx_tmp_fi2d(1:klon)=REAL(seed(1:klon,n)) 80 80 c 81 81 c print*,'n=',n,' write_ISCCP avant seed' -
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/yamada4.F
r938 r1299 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE yamada4(ngrid,dt,g,rconst,plev,temp … … 106 106 c$OMP THREADPRIVATE(rino,smyam,styam,lyam,knyam,w2yam,t2yam) 107 107 logical,save :: firstcall=.true. 108 109 character (len=20) :: modname='yamada4' 110 character (len=80) :: abort_message 111 108 112 c$OMP THREADPRIVATE(firstcall) 109 113 frif(ri)=0.6588*(ri+0.1776-sqrt(ri*ri-0.3221*ri+0.03156)) … … 128 132 129 133 if (.not.(iflag_pbl.ge.6.and.iflag_pbl.le.9)) then 130 stop'probleme de coherence dans appel a MY' 134 abort_message = 'probleme de coherence dans appel a MY' 135 CALL abort_gcm (modname,abort_message,1) 131 136 endif 132 137
Note: See TracChangeset
for help on using the changeset viewer.