! ! !################################################################## !################################################################## !###### ###### !###### SUBROUTINE INITADAS ###### !###### ###### !###### Developed by ###### !###### Center for Analysis and Prediction of Storms ###### !###### University of Oklahoma ###### !###### ###### !################################################################## !################################################################## ! SUBROUTINE initadas 4 ! !----------------------------------------------------------------------- ! ! PURPOSE: ! Read in analysis variables in namelist format from standard input. ! ! AUTHOR: ! Keith Brewster, CAPS, January, 1996 ! ! MODIFICATION HISTORY: ! ! Added read of variables previously read by calling initpara ! Added new src and iuse variables. ! Keith Brewster, CAPS, October, 1997 ! ! Added lines to initialize mgrid and nstgrid which are used ! by the GRIB writer. ! Keith Brewster, CAPS, March, 1998 ! ! Keith Brewster, CAPS, April 27,1998 ! Added new parameters to output namelist to match ARPS ! input file options. ! ! 2000/05/10 (Gene Bassett) ! Merged the ADAS input file back into the ARPS input file. ! ! 2000-05-18 (Gene Bassett) ! Moved hydrostatic and wind adjustment parameters to an ! adjust namelist block. ! ! !----------------------------------------------------------------------- ! ! Variable Declarations: ! !----------------------------------------------------------------------- ! IMPLICIT NONE ! INCLUDE 'adas.inc' INCLUDE 'adassat.inc' INCLUDE 'adjust.inc' ! !----------------------------------------------------------------------- ! Misc local variables !----------------------------------------------------------------------- ! INTEGER :: i,j,isat INTEGER :: lenstr LOGICAL :: iexist CHARACTER (LEN=19) :: initime ! Real time in form of 'year-mo-dy:hr:mn:ss' INTEGER :: err_no DATA err_no /0/ ! !----------------------------------------------------------------------- ! ! ADAS namelists ! !----------------------------------------------------------------------- ! NAMELIST /adas_const/ npass,sprdist,wlim,zwlim,thwlim, & ccatopt,spradopt NAMELIST /adjust/ hydradj,wndadj,obropt,obrzero NAMELIST /adas_radaropt/ raduvobs,radrhobs,refrh,rhradobs, & radistride,radkstride, & radcldopt,radqvopt,radqcopt,radqropt,radptopt, & refsat,rhrad, & refcld,cldrad,ceilopt,ceilmin,dzfill, & refrain,radsetrat,radreflim,radptgain NAMELIST /adas_typ/ ianxtyp NAMELIST /adas_range/ sfcqcrng,xyrange NAMELIST /adas_kpvar/ kpvar NAMELIST /adas_zrange/ zrange NAMELIST /adas_thrng/ thrng NAMELIST /adas_trnrng/ trnropt,trnrcst,trnrng NAMELIST /adas_backerf/ backerrfil NAMELIST /adas_sng/ nsngfil,sngfname,sngtmchk,blackfil, & srcsng,sngerrfil,iusesng NAMELIST /adas_ua/ nuafil,uafname,srcua,uaerrfil,iuseua NAMELIST /adas_radar/ nradfil,radfname,srcrad,raderrfil,iuserad NAMELIST /adas_retrieval/ & nretfil,retfname,srcret,reterrfil,iuseret NAMELIST /adas_cloud/ cloudopt,clddiag,range_cld, & refthr1,refthr2,hgtrefthr, & wmhr_cu,wmhr_sc,wc_st,bgqcopt, & cldqvopt,cldqcopt, & cldqropt,cldwopt,cldptopt,thresh_cvr, & rh_thr1,cvr2rh_thr1,rh_thr2,cvr2rh_thr2, & qvslimit_2_qc,qrlimit,frac_qr_2_qc, & frac_qw_2_pt,frac_qc_2_lh,max_lh_2_pt, & smth_opt, & nvisfiles,vis_fname,nirfiles,ir_fname,cld_files, & viscalname,ircalname NAMELIST /incr_out/ incdmpf,incrdmp,incrhdfcompr, & uincdmp,vincdmp,wincdmp, & pincdmp,ptincdmp,qvincdmp, & qcincdmp,qrincdmp,qiincdmp,qsincdmp,qhincdmp ! !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ! ! Beginning of executable code... ! !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ! !----------------------------------------------------------------------- ! Assign default values to the ADAS input variables !----------------------------------------------------------------------- npass=4 sprdist = 15000. wlim = 1.e-04 zwlim = 1.e-03 thwlim = 1.e-03 ccatopt = 1 spradopt = 2 hydradj = 0 wndadj = 2 obropt = 2 obrzero = 12000. raduvobs = 0 radrhobs = 0 radistride = 2 radkstride = 2 refrh = 20. rhrad = 0.90 radcldopt = 0 radqvopt = 0 radqcopt = 0 radqropt = 0 radptopt = 0 refcld = 20. cldrad = 1.0E-03 ceilopt = 1 ceilmin = 1500. dzfill = 3000. refrain = 30. radsetrat = 0.50 radreflim = 50. radptgain = 1.0 cloudopt = 0 clddiag = 1 range_cld = 100.0E03 refthr1 = 25.0 refthr2 = 10.0 hgtrefthr = 2000.0 wmhr_cu = 0.0005 wmhr_sc = 0.00005 wc_st = 0.05 bgqcopt = 1 cldqvopt = 1 cldwopt = 0 cldqcopt = 1 cldqropt = 1 cldptopt = 1 smth_opt = 1 thresh_cvr = 0.65 rh_thr1 = 0.5 cvr2rh_thr1 = 0.2 rh_thr2 = 0.95 cvr2rh_thr2 = 0.65 frac_qw_2_pt = 1.0 frac_qc_2_lh = 1.0 max_lh_2_pt = 4.0 qvslimit_2_qc = 1.0 qrlimit = 0.010 frac_qr_2_qc = 0.5 DO i=1,mx_nvar_anx kpvar(i)=1.0 END DO ! sfcqcrng = 100.e03 DO i=1,mx_pass ianxtyp(i)=21 xyrange(i)=100.e03 zrange(i)=500. thrng(i)=3.0 trnropt(i)=1 trnrcst(i)=500. trnrng(i)=1.2 END DO ! backerrfil='ruc3herr.adastab' ! blackfil='blacklist.sfc' nsngfil=0 DO i=1,mx_sng_file sngfname(i)='NULL' sngtmchk(i)='NULL' END DO DO i=1,nsrc_sng srcsng(i)='NULL' sngerrfil(i)='NULL' END DO DO i=0,nsrc_sng DO j=1,npass iusesng(i,j)=0 END DO END DO ! nsngfil=0 DO i=1,mx_ua_file uafname(i)='NULL' END DO DO i=1,nsrc_ua srcua(i)='NULL' uaerrfil(i)='NULL' END DO DO i=0,nsrc_ua DO j=1,npass iuseua(i,j)=0 END DO END DO ! nradfil=0 DO i=1,mx_rad radfname(i)='NULL' END DO DO i=1,nsrc_rad srcrad(i)='NULL' raderrfil(i)='NULL' END DO DO i=0,nsrc_rad DO j=1,npass iuserad(i,j)=0 END DO END DO ! nretfil=0 DO i=1,mx_ret retfname(i)='NULL' END DO DO i=1,nsrc_ret srcret(i)='NULL' reterrfil(i)='NULL' END DO DO i=0,nsrc_ret DO j=1,npass iuseret(i,j)=0 END DO END DO ! cld_files=0 nirfiles=0 nvisfiles=0 DO isat=1,mx_sat ir_fname(isat)='NULL' vis_fname(isat)='NULL' viscalname(isat)='NULL' ircalname(isat)='NULL' END DO ! incdmpf='NULL' incrdmp = 0 incrhdfcompr = 0 uincdmp = 1 vincdmp = 1 wincdmp = 0 pincdmp = 1 ptincdmp= 1 qvincdmp= 1 qcincdmp= 1 qrincdmp= 1 qiincdmp= 1 qsincdmp= 0 qhincdmp= 0 ! !----------------------------------------------------------------------- ! read in ADAS namelists !----------------------------------------------------------------------- ! READ(5, incr_out, END=201) WRITE(6,*) 'Namelist block incr_out sucessfully read.' 201 CONTINUE READ(5, adas_const, END=200) WRITE(6,*) 'Namelist block adas_const sucessfully read.' 200 CONTINUE READ(5, adjust, END=205) WRITE(6,*) 'Namelist block adjust sucessfully read.' 205 CONTINUE READ(5, adas_radaropt, END=210) WRITE(6,*) 'Namelist block adas_radaropt sucessfully read.' 210 CONTINUE READ(5, adas_cloud, END=220) WRITE(6,*) 'Namelist block adas_cloud sucessfully read.' 220 CONTINUE ! READ(5, adas_typ, END=240) WRITE(6,*) 'Namelist block adas_typ sucessfully read.' 240 CONTINUE READ(5, adas_range, END=250) WRITE(6,*) 'Namelist block adas_range sucessfully read.' 250 CONTINUE READ(5, adas_kpvar, END=255) WRITE(6,*) 'Namelist block adas_kpvar sucessfully read.' 255 CONTINUE READ(5, adas_zrange, END=260) WRITE(6,*) 'Namelist block adas_zrange sucessfully read.' 260 CONTINUE READ(5, adas_thrng, END=270) WRITE(6,*) 'Namelist block adas_thrng sucessfully read.' 270 CONTINUE READ(5, adas_trnrng, END=280) WRITE(6,*) 'Namelist block adas_trnrng sucessfully read.' 280 CONTINUE ! READ(5, adas_backerf, END=300) WRITE(6,*) 'Namelist block adas_backerf sucessfully read.' 300 CONTINUE ! READ(5, adas_sng, END=310) WRITE(6,*) 'Namelist block adas_sng sucessfully read.' 310 CONTINUE READ(5, adas_ua, END=320) WRITE(6,*) 'Namelist block adas_ua sucessfully read.' 320 CONTINUE READ(5, adas_radar, END=330) WRITE(6,*) 'Namelist block adas_radar sucessfully read.' 330 CONTINUE READ(5, adas_retrieval, END=340) WRITE(6,*) 'Namelist block adas_retrieval sucessfully read.' 340 CONTINUE ! !----------------------------------------------------------------------- ! Compute squared input variables !----------------------------------------------------------------------- ! DO i=1,mx_nvar_anx kpvrsq(i)=kpvar(i)*kpvar(i) END DO RETURN END SUBROUTINE initadas