https://github.com/alphaparrot/ExoPlaSim
Raw File
Tip revision: c4366f3657ca1c17f0da500b7940eb8f77043d20 authored by Adiv Paradise on 15 September 2020, 18:52:09 UTC
Added tunings to better-capture extant storms and avoid generating too much output
Tip revision: c4366f3
dump_ice.f90
!     ===================
!     SUBROUTINE ICE_DUMP
!     ===================

      subroutine ice_dump
      use icemod
      character (len=256) :: yfn

      call step2cal(nstep,ntspd,iyea,imon,iday,ihou,imin)
      write(yfn,'("ice_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) 'newsurf',newsurf
      write (72,100) 'nsnow',nsnow
      write (72,100) 'ntskin',ntskin
      write (72,100) 'ntspd',ntspd
      write (72,100) 'noutput',noutput
      write (72,100) 'nout',nout
      write (72,100) 'nfluko',nfluko
      write (72,100) 'ncpl_ice_ocean',ncpl_ice_ocean
      write (72,100) 'nperpetual_ice',nperpetual_ice
      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

  200 format(a16,e20.10)
      write (72,200) 'taunc',taunc
      write (72,200) 'xmind',xmind
      write (72,200) 'xdt',xdt
      write (72,200) 'cicemin',cicemin
      write (72,200) 'solar_day',solar_day

!     call ice_dump_hor('xshfl',xshfl)
!     call ice_dump_hor('xshdt',xshdt)
!     call ice_dump_hor('xlhfl',xlhfl)
!     call ice_dump_hor('xlhdt',xlhdt)
!     call ice_dump_hor('xswfl',xswfl)
!     call ice_dump_hor('xlwfl',xlwfl)
      call ice_dump_hor('xts',xts)
      call ice_dump_hor('xsst',xsst)
      call ice_dump_hor('xmld',xmld)
      call ice_dump_hor('xls',xls)
      call ice_dump_hor('xiced',xiced)
      call ice_dump_hor('xicec',xicec)
      call ice_dump_hor('xsnow',xsnow)
!     call ice_dump_hor('xsmelt',xsmelt)
!     call ice_dump_hor('xsmflx',xsmflx)
!     call ice_dump_hor('ximelt',ximelt)
!     call ice_dump_hor('xsndch',xsndch)
      call ice_dump_hor('xqmelt',xqmelt)
!     call ice_dump_hor('xheat',xheat)
!     call ice_dump_hor('xcflux',xcflux)
!     call ice_dump_hor('xprs',xprs)
!     call ice_dump_hor('xfresh',xfresh)
      call ice_dump_hor('xroff',xroff)
!     call ice_dump_hor('xtaux',xtaux)
!     call ice_dump_hor('xtauy',xtauy)
!     call ice_dump_hor('xust3',xust3)
      call ice_dump_hor('xoflux',xoflux)
!     call ice_dump_hor('xtsflux',xtsflux)
!     call ice_dump_hor('xhnew',xhnew)
      call ice_dump_hor('cheat',cheat)
      call ice_dump_hor('cfresh',cfresh)
      call ice_dump_hor('ctaux',ctaux)
      call ice_dump_hor('ctauy',ctauy)
      call ice_dump_hor('cust3',cust3)
      call ice_dump_hor('xflxicea',xflxicea)
      call ice_dump_hor('xheata',xheata)
      call ice_dump_hor('xofluxa',xofluxa)
      call ice_dump_hor('xqmelta',xqmelta)
      call ice_dump_hor('xcfluxa',xcfluxa)
      call ice_dump_hor('xsmelta',xsmelta)
      call ice_dump_hor('ximelta',ximelta)
      call ice_dump_hor('xtsfluxa',xtsfluxa)
      call ice_dump_hor('xhnewa',xhnewa)

      call ice_dump_hor14('xclsst',xclsst)
      call ice_dump_hor14('xclicec',xclicec)
      call ice_dump_hor14('xcliced',xcliced)
      call ice_dump_hor14('xflxice',xflxice)

      close(72)

      end


      subroutine ice_dump_hor(ya,pa)
      use icemod

      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 ice_dump_hor14(ya,pa)
      use icemod

      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


back to top