Class | cloud_mars_h2o |
In: |
radiation/cloud_mars_h2o.f90
|
Note that Japanese and English are described in parallel.
In this module, H2O cloud on Mars is calculated by use of a simple cloud model.
!$ ! RadiationFluxDennouAGCM : | �¾å����������¹ã���ç®� |
!$ ! ———— : | ———— |
!$ ! RadiationFluxDennouAGCM : | Calculate radiation flux |
Subroutine : | |
xyr_Press( 0:imax-1, 1:jmax, 0:kmax ) : | real(DP), intent(in ) |
xyz_VirTemp( 0:imax-1, 1:jmax, 1:kmax ) : | real(DP), intent(in ) |
xyr_Height( 0:imax-1, 1:jmax, 0:kmax ) : | real(DP), intent(in ) |
xyz_DQH2OLiqDtCum( 0:imax-1, 1:jmax, 1:kmax ) : | real(DP), intent(in ) |
xyz_DQH2OLiqDtLSC( 0:imax-1, 1:jmax, 1:kmax ) : | real(DP), intent(in ) |
xyz_QH2OLiq( 0:imax-1, 1:jmax, 1:kmax ) : | real(DP), intent(inout) |
xy_Rain( 0:imax-1, 1:jmax ) : | real(DP), intent(out ) |
xy_Snow( 0:imax-1, 1:jmax ) : | real(DP), intent(out ) |
subroutine CloudMarsH2O( xyr_Press, xyz_VirTemp, xyr_Height, xyz_DQH2OLiqDtCum, xyz_DQH2OLiqDtLSC, xyz_QH2OLiq, xy_Rain, xy_Snow ) ! USE statements ! ! ���»ç��� ! Time control ! use timeset, only: DelTime ! $ \Delta t $ [s] ! ����æ²������ ! Gravitational sedimentation process ! use grav_sed, only : GravSed real(DP), intent(in ) :: xyr_Press ( 0:imax-1, 1:jmax, 0:kmax ) real(DP), intent(in ) :: xyz_VirTemp ( 0:imax-1, 1:jmax, 1:kmax ) real(DP), intent(in ) :: xyr_Height ( 0:imax-1, 1:jmax, 0:kmax ) real(DP), intent(in ) :: xyz_DQH2OLiqDtCum( 0:imax-1, 1:jmax, 1:kmax ) real(DP), intent(in ) :: xyz_DQH2OLiqDtLSC( 0:imax-1, 1:jmax, 1:kmax ) real(DP), intent(inout) :: xyz_QH2OLiq ( 0:imax-1, 1:jmax, 1:kmax ) real(DP), intent(out ) :: xy_Rain ( 0:imax-1, 1:jmax ) real(DP), intent(out ) :: xy_Snow ( 0:imax-1, 1:jmax ) ! å®�è¡��� ; Executable statement ! ! ������確è� ! Initialization check ! if ( .not. cloud_mars_h2o_inited ) then call MessageNotify( 'E', module_name, 'This module has not been initialized.' ) end if xyz_QH2OLiq = xyz_QH2OLiq + ( xyz_DQH2OLiqDtCum + xyz_DQH2OLiqDtLSC ) * 2.0_DP * DelTime xy_Rain = 0.0_DP xy_Snow = 0.0_DP ! ����æ²������ ! Gravitational sedimentation process ! call GravSed( 'MarsH2OCloud', xyr_Press, xyz_VirTemp, xyr_Height, xyz_QH2OLiq, xy_Snow ) xy_Snow = - xy_Snow end subroutine CloudMarsH2O
Subroutine : |
subroutine CloudMarsH2OInit !!$ ! ���¡ã�¤ã���¥å�ºå��è£��� !!$ ! File I/O support !!$ ! !!$ use dc_iounit, only: FileOpen !!$ !!$ ! NAMELIST ���¡ã�¤ã���¥å�����¢ã�������¼ã���£ã������ !!$ ! Utilities for NAMELIST file input !!$ ! !!$ use namelist_util, only: namelist_filename, NmlutilMsg, NmlutilAryValid ! ���¹ã�������¼ã�¿å�ºå�� ! History data output ! use gtool_historyauto, only: HistoryAutoAddVariable ! ����æ²������ ! Gravitational sedimentation process ! use grav_sed, only : GravSedInit ! 宣è��� ; Declaration statements ! !!$ integer:: unit_nml ! NAMELIST ���¡ã�¤ã�����¼ã���³ç���ç½����. !!$ ! Unit number for NAMELIST file open !!$ integer:: iostat_nml ! NAMELIST èªã�¿è¾¼�¿æ���� IOSTAT. !!$ ! IOSTAT of NAMELIST read ! NAMELIST å¤��°ç¾¤ ! NAMELIST group name ! !!$ namelist /cloud_simple_nml/ & !!$ & CloudLifeTime, & !!$ & CloudWatLifeTime, & !!$ & CloudIceLifeTime, & !!$ & CloudCoverMethod, & !!$ & RHCrtl, & !!$ & CloudCover ! ! �����������¤ã���¤ã��������������ç¶� "cloud_mars_h2o#CloudMarsH2OInit" ! ���½ã�¼ã�¹ã�³ã�¼ã�������§ã������. ! ! Refer to source codes in the initialization procedure ! "cloud_mars_h2o#CloudMarsH2OInit" for the default values. ! ! å®�è¡��� ; Executable statement ! if ( cloud_mars_h2o_inited ) return ! �����������¤ã��¨å®� ! Default values settings ! ! NAMELIST ����¿è¾¼�� ! NAMELIST is input ! !!$ if ( trim(namelist_filename) /= '' ) then !!$ call FileOpen( unit_nml, & ! (out) !!$ & namelist_filename, mode = 'r' ) ! (in) !!$ !!$ rewind( unit_nml ) !!$ read( unit_nml, & ! (in) !!$ & nml = cloud_mars_h2o_nml, & ! (out) !!$ & iostat = iostat_nml ) ! (out) !!$ close( unit_nml ) !!$ !!$ call NmlutilMsg( iostat_nml, module_name ) ! (in) !!$ end if ! Initialization of modules used in this module ! ! ����æ²������ ! Gravitational sedimentation process ! call GravSedInit ! ���¹ã�������¼ã�¿å�ºå�����������¸ã����°ç�»é�� ! Register of variables for history data output ! !!$ call HistoryAutoAddVariable( 'EffCloudCover', & !!$ & (/ 'lon ', 'lat ', 'time' /), & !!$ & 'effective cloud cover', '1' ) ! �°å� ; Print ! call MessageNotify( 'M', module_name, '----- Initialization Messages -----' ) call MessageNotify( 'M', module_name, '-- version = %c', c1 = trim(version) ) cloud_mars_h2o_inited = .true. end subroutine CloudMarsH2OInit
Variable : | |||
cloud_mars_h2o_inited = .false. : | logical, save
|
Constant : | |||
module_name = ‘cloud_mars_h2o‘ : | character(*), parameter
|
Constant : | |||
version = ’$Name: $’ // ’$Id: cloud_mars_h2o.f90,v 1.2 2015/01/29 12:06:42 yot Exp $’ : | character(*), parameter
|