dump_ice.f90 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. ! ===================
  2. ! SUBROUTINE ICE_DUMP
  3. ! ===================
  4. subroutine ice_dump
  5. use icemod
  6. character (len=256) :: yfn
  7. call step2cal(nstep,ntspd,iyea,imon,iday,ihou,imin)
  8. write(yfn,'("ice_dump_",I4.4,4I2.2)') iyea,imon,iday,ihou,imin
  9. open(72,file=yfn)
  10. 100 format(a16,i16)
  11. write (72,100) 'nice',nice
  12. write (72,100) 'newsurf',newsurf
  13. write (72,100) 'nsnow',nsnow
  14. write (72,100) 'ntskin',ntskin
  15. write (72,100) 'ntspd',ntspd
  16. write (72,100) 'noutput',noutput
  17. write (72,100) 'nout',nout
  18. write (72,100) 'nfluko',nfluko
  19. write (72,100) 'ncpl_ice_ocean',ncpl_ice_ocean
  20. write (72,100) 'nperpetual_ice',nperpetual_ice
  21. write (72,100) 'nprint',nprint
  22. write (72,100) 'nprhor',nprhor
  23. write (72,100) 'nstep',nstep
  24. write (72,100) 'nrestart',nrestart
  25. write (72,100) 'naccuout',naccuout
  26. 200 format(a16,e20.10)
  27. write (72,200) 'taunc',taunc
  28. write (72,200) 'xmind',xmind
  29. write (72,200) 'xdt',xdt
  30. write (72,200) 'cicemin',cicemin
  31. write (72,200) 'solar_day',solar_day
  32. ! call ice_dump_hor('xshfl',xshfl)
  33. ! call ice_dump_hor('xshdt',xshdt)
  34. ! call ice_dump_hor('xlhfl',xlhfl)
  35. ! call ice_dump_hor('xlhdt',xlhdt)
  36. ! call ice_dump_hor('xswfl',xswfl)
  37. ! call ice_dump_hor('xlwfl',xlwfl)
  38. call ice_dump_hor('xts',xts)
  39. call ice_dump_hor('xsst',xsst)
  40. call ice_dump_hor('xmld',xmld)
  41. call ice_dump_hor('xls',xls)
  42. call ice_dump_hor('xiced',xiced)
  43. call ice_dump_hor('xicec',xicec)
  44. call ice_dump_hor('xsnow',xsnow)
  45. ! call ice_dump_hor('xsmelt',xsmelt)
  46. ! call ice_dump_hor('xsmflx',xsmflx)
  47. ! call ice_dump_hor('ximelt',ximelt)
  48. ! call ice_dump_hor('xsndch',xsndch)
  49. call ice_dump_hor('xqmelt',xqmelt)
  50. ! call ice_dump_hor('xheat',xheat)
  51. ! call ice_dump_hor('xcflux',xcflux)
  52. ! call ice_dump_hor('xprs',xprs)
  53. ! call ice_dump_hor('xfresh',xfresh)
  54. call ice_dump_hor('xroff',xroff)
  55. ! call ice_dump_hor('xtaux',xtaux)
  56. ! call ice_dump_hor('xtauy',xtauy)
  57. ! call ice_dump_hor('xust3',xust3)
  58. call ice_dump_hor('xoflux',xoflux)
  59. ! call ice_dump_hor('xtsflux',xtsflux)
  60. ! call ice_dump_hor('xhnew',xhnew)
  61. call ice_dump_hor('cheat',cheat)
  62. call ice_dump_hor('cfresh',cfresh)
  63. call ice_dump_hor('ctaux',ctaux)
  64. call ice_dump_hor('ctauy',ctauy)
  65. call ice_dump_hor('cust3',cust3)
  66. call ice_dump_hor('xflxicea',xflxicea)
  67. call ice_dump_hor('xheata',xheata)
  68. call ice_dump_hor('xofluxa',xofluxa)
  69. call ice_dump_hor('xqmelta',xqmelta)
  70. call ice_dump_hor('xcfluxa',xcfluxa)
  71. call ice_dump_hor('xsmelta',xsmelta)
  72. call ice_dump_hor('ximelta',ximelta)
  73. call ice_dump_hor('xtsfluxa',xtsfluxa)
  74. call ice_dump_hor('xhnewa',xhnewa)
  75. call ice_dump_hor14('xclsst',xclsst)
  76. call ice_dump_hor14('xclicec',xclicec)
  77. call ice_dump_hor14('xcliced',xcliced)
  78. call ice_dump_hor14('xflxice',xflxice)
  79. close(72)
  80. end
  81. subroutine ice_dump_hor(ya,pa)
  82. use icemod
  83. character (len=*) :: ya
  84. real :: pa(NHOR)
  85. write(72,'(/A)') trim(ya)
  86. do j = 1 , NHOR , 4
  87. write(72,'(i6,2x,4e18.10)') j,pa(j:j+3)
  88. enddo
  89. return
  90. end
  91. subroutine ice_dump_hor14(ya,pa)
  92. use icemod
  93. character (len=*) :: ya
  94. real :: pa(NHOR,14)
  95. do mon = 1 , 14
  96. write(72,'(/I2,2X,A)') mon-1,trim(ya)
  97. do j = 1 , NHOR , 4
  98. write(72,'(i6,2x,4e18.10)') j,pa(j:j+3,mon)
  99. enddo
  100. enddo
  101. return
  102. end