123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- ! ===================
- ! SUBROUTINE ATM_DUMP
- ! ===================
- subroutine atm_dump
- use pumamod
- character (len=256) :: yfn
- call step2cal(nstep,ntspd,iyea,imon,iday,ihou,imin)
- write(yfn,'("atm_dump_",I4.4,4I2.2)') iyea,imon,iday,ihou,imin
- open(72,file=yfn)
- 100 format(a16,i16)
- write (72,100) 'nice',nice
- write (72,100) 'mocd',mocd
- write (72,100) 'n_start_year',n_start_year
- write (72,100) 'n_start_month',n_start_month
- write (72,100) 'ntspd',ntspd
- write (72,100) 'noutput',noutput
- write (72,100) 'nout',nout
- write (72,100) 'n_start_step',n_start_step
- write (72,100) 'n_days_per_month',n_days_per_month
- write (72,100) 'n_days_per_year',n_days_per_year
- write (72,100) 'nprint',nprint
- write (72,100) 'nprhor',nprhor
- write (72,100) 'nstep',nstep
- write (72,100) 'nrestart',nrestart
- write (72,100) 'naccuout',naccuout
- write (72,100) 'mpstep',mpstep
- write (72,100) 'nwpd',nwpd
- write (72,100) 'kick',kick
- write (72,100) 'nafter',nafter
- write (72,100) 'ncoeff',ncoeff
- write (72,100) 'ndiag',ndiag
- write (72,100) 'ndebug',ndebug
- write (72,100) 'nexp',nexp
- write (72,100) 'nexper',nexper
- write (72,100) 'ngui',ngui
- write (72,100) 'npacksp',npacksp
- write (72,100) 'npackgp',npackgp
- write (72,100) 'ndiaggp',ndiaggp
- write (72,100) 'ndiagsp',ndiagsp
- write (72,100) 'ndiagcf',ndiagcf
- write (72,100) 'ndiaggp2d',ndiaggp2d
- write (72,100) 'ndiaggp3d',ndiaggp3d
- write (72,100) 'ndiagsp2d',ndiagsp2d
- write (72,100) 'ndiagsp3d',ndiagsp3d
- write (72,100) 'nhdiff',nhdiff
- write (72,100) 'ntime',ntime
- write (72,100) 'nperpetual',nperpetual
- write (72,100) 'n_sea_points',n_sea_points
- write (72,100) 'mars',mars
- 200 format(a16,e20.10)
- write (72,200) 'dawn',dawn
- write (72,200) 'delt',delt
- write (72,200) 'delt2',delt2
- write (72,200) 'dtep',dtep
- write (72,200) 'dtns',dtns
- write (72,200) 'dtrop',dtrop
- write (72,200) 'dttrp',dttrp
- write (72,200) 'tgr',tgr
- write (72,200) 'psurf',psurf
- write (72,200) 'time0',time0
- write (72,200) 'co2',co2
- write (72,200) 'umax',umax
- write (72,200) 't2mean',t2mean
- write (72,200) 'precip',precip
- write (72,200) 'evap',evap
- write (72,200) 'olr',olr
- write (72,200) 'akap',akap
- write (72,200) 'alr',alr
- write (72,200) 'ga',ga
- write (72,200) 'gascon',gascon
- write (72,200) 'plarad',plarad
- write (72,200) 'pnu',pnu
- write (72,200) 'siderial_day',siderial_day
- write (72,200) 'solar_day',solar_day
- write (72,200) 'ww',ww
- write (72,200) 'ra1',ra1
- write (72,200) 'ra2',ra2
- write (72,200) 'ra4',ra4
- write (72,200) 'acpd',acpd
- write (72,200) 'adv',adv
- write (72,200) 'cv',cv
- write (72,200) 'ct',ct
- write (72,200) 'pnu21',pnu21
- write (72,200) 'rdbrv',rdbrv
- close(72)
- end
- subroutine atm_dump_hor(ya,pa)
- use pumamod
- character (len=*) :: ya
- real :: pa(NHOR)
- write(72,'(/A)') trim(ya)
- do j = 1 , NHOR , 4
- write(72,'(i6,2x,4e18.10)') j,pa(j:j+3)
- enddo
- return
- end
- subroutine atm_dump_hor14(ya,pa)
- use pumamod
- character (len=*) :: ya
- real :: pa(NHOR,14)
- do mon = 1 , 14
- write(72,'(/I2,2X,A)') mon-1,trim(ya)
- do j = 1 , NHOR , 4
- write(72,'(i6,2x,4e18.10)') j,pa(j:j+3,mon)
- enddo
- enddo
- return
- end
|