Changeset 4829
- Timestamp:
- Feb 21, 2024, 4:54:27 PM (3 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/StratAer/nucleation_tstep_mod.F90
r4762 r4829 32 32 LOGICAL kinetic_n ! true if kinetic neutral nucleation (NOT IN USE) 33 33 LOGICAL kinetic_i ! true if kinetic ion-induced nucleation (NOT IN USE) 34 REAL rhoatres ! threshold concentration of H2SO4 (1/cm^3) for neutral kinetic nucleation (NOT IN USE)35 34 REAL VH2SO4mol 36 35 REAL ntot_i, x_i, jnuc_i, rc_i, na_i, n_i ! quantities for charged nucleation (NOT IN USE) … … 61 60 ! airn=pplay/t_seri/RD/1.E3*RNAVO/RMD ! molec cm-3 (for future use, to be confirmed) 62 61 CALL newbinapara(t_seri,rh,rhoa,csi,airn,ipr,jnuc_n,ntot_n,jnuc_i,ntot_i, & 63 & x_n,x_i,na_n,na_i,rc_n,rc_i,n_i,kinetic_n,kinetic_i ,rhoatres)62 & x_n,x_i,na_n,na_i,rc_n,rc_i,n_i,kinetic_n,kinetic_i) 64 63 ENDIF 65 64 … … 296 295 SUBROUTINE newbinapara(t,satrat,rhoa,csi,airn,ipr,jnuc_n_real,ntot_n_real,jnuc_i_real,ntot_i_real, & 297 296 & x_n_real,x_i_real,na_n_real,na_i_real,rc_n_real,rc_i_real,n_i_real, & 298 & kinetic_n,kinetic_i ,rhoatres_real)297 & kinetic_n,kinetic_i) 299 298 300 299 ! Fortran 90 subroutine newbinapara … … 355 354 REAL,INTENT(OUT) :: rc_i_real ! radius of the charged critical cluster in nm 356 355 REAL,INTENT(OUT) :: n_i_real ! number of ion pairs in air (cm-3) 357 REAL,INTENT(OUT) :: rhoatres_real ! threshold concentration of H2SO4 (1/cm^3) for neutral kinetic nucleation358 356 LOGICAL,INTENT(OUT) :: kinetic_n ! true if kinetic neutral nucleation 359 357 LOGICAL,INTENT(OUT) :: kinetic_i ! true if kinetic ion-induced nucleation … … 372 370 DOUBLE PRECISION :: rc_i ! radius of the charged critical cluster in nm 373 371 DOUBLE PRECISION :: n_i ! number of ion pairs in air (cm-3) 374 DOUBLE PRECISION :: rhoatres ! threshold concentration of H2SO4 (1/cm^3) for neutral kinetic nucleation375 372 DOUBLE PRECISION :: x ! mole fraction of H2SO4 in the critical cluster 376 373 DOUBLE PRECISION :: satratln ! bounded water saturation ratio for neutral case (between 5.E-6 - 1.0) … … 592 589 IF (jnuc_n.LT.1.E-7) THEN 593 590 jnuc_n=0.0 594 ENDIF595 596 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!597 598 ! Threshold neutral nucleation rate (j > 1/cm3s) parameterization (can be commented out if not needed)599 IF (tln .GE. 310.) THEN600 rhoatres=EXP(-2.8220714121794250 + 1.1492362322651116E+1*satratln -3.3034839106184218E+3/tln &601 & + (-7.1828571490168133E+2*satratln)/tln + 1.4649510835204091E-1*tln &602 & -3.0442736551916524E-2*satratln*tln -9.3258567137451497E-5*tln**2 &603 & -1.1583992506895649E+1*LOG(satratln) + (1.5184848765906165E+3*LOG(satratln))/tln &604 & + 1.8144983916747057E-2*tln*LOG(satratln)) !1/cm3605 ENDIF606 607 IF (tln .GT. 190. .AND. tln .LT. 310.) THEN608 rhoatres=EXP(-3.1820396091231999E+2 + 7.2451289153199676*satratln + 2.6729355170089486E+4/tln &609 & + (-7.1492506076423069E+2*satratln)/tln + 1.2617291148391978*tln &610 & - 1.6438112080468487E-2*satratln*tln -1.4185518234553220E-3*tln**2 &611 & -9.2864597847386694*LOG(satratln) + (1.2607421852455602E+3*LOG(satratln))/tln &612 & + 1.3324434472218746E-2*tln*LOG(satratln)) !1/cm3613 ENDIF614 615 IF (tln .LT. 185. .AND. tln .GT. 155.) THEN616 rhoatres=1.1788859232398459E+5 - 1.0244255702550814E+4*satratln + &617 & 4.6815029684321962E+3*satratln**2 -1.6755952338499657E+2*tln618 591 ENDIF 619 592 … … 832 805 rc_i_real = rc_i 833 806 n_i_real = n_i 834 rhoatres_real = rhoatres835 807 836 808 END SUBROUTINE newbinapara
Note: See TracChangeset
for help on using the changeset viewer.