Changeset 888 for trunk/NEMO/OPA_SRC/phycst.F90
- Timestamp:
- 2008-04-11T19:05:03+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/phycst.F90
r833 r888 4 4 !! Definition of of both ocean and ice parameters used in the code 5 5 !!===================================================================== 6 !! * Modules used 6 !! History : ! 90-10 (C. Levy - G. Madec) Original code 7 !! ! 91-11 (G. Madec) 8 !! ! 91-12 (M. Imbard) 9 !! 8.5 ! 02-08 (G. Madec, C. Ethe) F90, add ice constants 10 !! 9.0 ! 06-08 (G. Madec) style 11 !!---------------------------------------------------------------------- 12 13 !!---------------------------------------------------------------------- 14 !! phy_cst : define and print physical constant and domain parameters 15 !!---------------------------------------------------------------------- 7 16 USE par_oce ! ocean parameters 8 17 USE in_out_manager ! I/O manager … … 11 20 PRIVATE 12 21 13 !! * Routine accessibility 14 PUBLIC phy_cst ! routine called by inipar.F90 15 16 !! * Shared module variables 17 INTEGER, PUBLIC, DIMENSION(12) :: & !: 18 nbiss = (/ 31, 29, 31, 30, 31, 30, & !: number of days per month 19 & 31, 31, 30, 31, 30, 31 /) , & ! (leap-year) 20 nobis = (/ 31, 28, 31, 30, 31, 30, & !: number of days per month 21 & 31, 31, 30, 31, 30, 31 /) ! (365 days a year) 22 23 REAL(wp), PUBLIC :: & !: 24 rpi = 3.141592653589793_wp , & !: pi 25 rad = 3.141592653589793_wp / 180._wp , & !: conversion from degre into radian 26 rsmall = 0.5 * EPSILON( 1. ) !: smallest real computer value 22 PUBLIC phy_cst ! routine called by inipar.F90 23 24 REAL(wp), PUBLIC :: rpi = 3.141592653589793_wp !: pi 25 REAL(wp), PUBLIC :: rad = 3.141592653589793_wp / 180._wp !: conversion from degre into radian 26 REAL(wp), PUBLIC :: rsmall = 0.5 * EPSILON( 1. ) !: smallest real computer value 27 27 28 28 REAL(wp), PUBLIC :: & !: … … 54 54 #endif 55 55 rau0 = 1020._wp , & !: volumic mass of reference (kg/m3) 56 rauw = 1000._wp , & !: densityof pure water (kg/m3)56 rauw = 1000._wp , & !: volumic mass of pure water (kg/m3) 57 57 rcp = 4.e+3_wp, & !: ocean specific heat 58 58 ro0cpr !: = 1. / ( rau0 * rcp ) … … 66 66 lsub = 2.834e+6 , & !: pure ice latent heat of sublimation (J.kg-1) 67 67 lfus = 0.334e+6 , & !: latent heat of fusion of fresh ice (J.kg-1) 68 rhoic = 917._wp , & !: densityof sea ice (kg/m3)68 rhoic = 917._wp , & !: volumic mass of sea ice (kg/m3) 69 69 tmut = 0.054 , & !: decrease of seawater meltpoint with salinity 70 70 #else … … 76 76 xlic = 300.33e+6_wp , & !: volumetric latent heat fusion of ice 77 77 xsn = 2.8e+6 , & !: latent heat of sublimation of snow 78 rhoic = 900._wp , & !: densityof sea ice (kg/m3)78 rhoic = 900._wp , & !: volumic mass of sea ice (kg/m3) 79 79 #endif 80 rhosn = 330._wp , & !: densityof snow (kg/m3)80 rhosn = 330._wp , & !: volumic mass of snow (kg/m3) 81 81 emic = 0.97_wp , & !: emissivity of snow or ice 82 82 sice = 6.0_wp , & !: salinity of ice (psu) … … 99 99 !! 100 100 !! ** Purpose : Print model parameters and set and print the constants 101 !! 102 !! ** Method : no 103 !! 104 !! History : 105 !! ! 90-10 (C. Levy - G. Madec) Original code 106 !! ! 91-11 (G. Madec) 107 !! ! 91-12 (M. Imbard) 108 !! 8.5 ! 02-08 (G. Madec, C. Ethe) F90, add ice constants 109 !!---------------------------------------------------------------------- 110 !! * Local variables 111 CHARACTER (len=64) :: cform = "(A9, 3(A13, I7) )" 101 !!---------------------------------------------------------------------- 102 CHARACTER (len=64) :: cform = "(A12, 3(A13, I7) )" 112 103 !!---------------------------------------------------------------------- 113 104 … … 119 110 ! ---------------- 120 111 IF(lwp) THEN 121 WRITE(numout,*) ' parameter file' 122 WRITE(numout,*) 112 WRITE(numout,*) ' Domain info' 123 113 WRITE(numout,*) ' dimension of model' 124 WRITE(numout,*) ' Local domain Global domain Data domain ' 125 WRITE(numout,cform) ' ',' jpi : ', jpi, ' jpiglo : ', jpiglo, ' jpidta : ', jpidta 126 WRITE(numout,cform) ' ',' jpj : ', jpj, ' jpjglo : ', jpjglo, ' jpjdta : ', jpjdta 127 WRITE(numout,cform) ' ',' jpk : ', jpk, ' jpk : ', jpk , ' jpkdta : ', jpkdta 128 WRITE(numout,*) ' ',' jpij : ', jpij 129 WRITE(numout,*) 114 WRITE(numout,*) ' Local domain Global domain Data domain ' 115 WRITE(numout,cform) ' ',' jpi : ', jpi, ' jpiglo : ', jpiglo, ' jpidta : ', jpidta 116 WRITE(numout,cform) ' ',' jpj : ', jpj, ' jpjglo : ', jpjglo, ' jpjdta : ', jpjdta 117 WRITE(numout,cform) ' ',' jpk : ', jpk, ' jpk : ', jpk , ' jpkdta : ', jpkdta 118 WRITE(numout,*) ' ',' jpij : ', jpij 130 119 WRITE(numout,*) ' mpp local domain info (mpp)' 131 120 WRITE(numout,*) ' jpni : ', jpni, ' jpreci : ', jpreci 132 121 WRITE(numout,*) ' jpnj : ', jpnj, ' jprecj : ', jprecj 133 122 WRITE(numout,*) ' jpnij : ', jpnij 134 135 WRITE(numout,*)136 123 WRITE(numout,*) ' lateral domain boundary condition type : jperio = ', jperio 137 WRITE(numout,*) ' domain island (use in rigid-lid case) : jpisl = ', jpisl 138 WRITE(numout,*) ' jpnisl = ', jpnisl 124 WRITE(numout,*) ' domain island (use in rigid-lid case) : jpisl = ', jpisl, ' jpnisl = ', jpnisl 139 125 ENDIF 140 126 … … 142 128 ! ---------------- 143 129 IF(lwp) WRITE(numout,*) 144 IF(lwp) WRITE(numout,*) ' constants'130 IF(lwp) WRITE(numout,*) ' Constants' 145 131 146 132 IF(lwp) WRITE(numout,*)
Note: See TracChangeset
for help on using the changeset viewer.