<HTML> <BODY BGCOLOR=#bbeeee LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE><a name='1'>
<A NAME='MODULE_SI_IO_NMM'><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#MODULE_SI_IO_NMM' TARGET='top_target'><IMG SRC="../../gif/bar_purple.gif" border=0></A><a name='2'>
<font color=#993300>MODULE </font><font color=#cc0000>module_si_io_nmm</font><a name='3'>
<a name='4'>
   <font color=#447700>!  Input 3D meteorological fields.<a name='5'></font>
<a name='6'>
   REAL , DIMENSION(:,:,:) , ALLOCATABLE :: u_input , v_input , &amp;<a name='7'>
                                            q_input , t_input<a name='8'>
<a name='9'>
   <font color=#447700>!  Input 3D LSM fields.<a name='10'></font>
<a name='11'>
   REAL , DIMENSION(:,:,:) , ALLOCATABLE :: landuse_frac_input , &amp;<a name='12'>
                                            soil_top_cat_input , &amp;<a name='13'>
                                            soil_bot_cat_input<a name='14'>
<a name='15'>
   REAL, ALLOCATABLE:: htm_in(:,:,:),vtm_in(:,:,:)<a name='16'>
<a name='17'>
   <font color=#447700>!  Input 2D surface fields.<a name='18'></font>
<a name='19'>
   REAL , DIMENSION(:,:)   , ALLOCATABLE :: tg_input , res_input , &amp;<a name='20'>
                                            t_annual_avg_input , pd_input , &amp;<a name='21'>
                                            st000010_input , st010040_input , &amp;<a name='22'>
                                            st040100_input , st100200_input , &amp;<a name='23'>
                                            sm000010_input , sm010040_input , &amp;<a name='24'>
                                            sm040100_input , sm100200_input , &amp;<a name='25'>
                                            st010200_input , &amp;<a name='26'>
                                            sm010200_input , &amp;<a name='27'>
                                            soilt010_input , soilt040_input , &amp;<a name='28'>
                                            soilt100_input , soilt200_input , &amp;<a name='29'>
                                            soilm010_input , soilm040_input , &amp;<a name='30'>
                                            soilm100_input , soilm200_input , &amp;<a name='31'>
                                            seaice_input , snow_input , &amp;<a name='32'>
                                            canwat_input , &amp;<a name='33'>
                                            landuse_input , landmask_input , &amp;<a name='34'>
                                            skintemp_input , sst_input , &amp;<a name='35'>
                                            green_frac_input , green_frac_min, &amp;<a name='36'>
                                            green_frac_max, ter_input ,  &amp;<a name='37'>
                                            toposoil_input, albase_input, &amp;<a name='38'>
                                            mxsnal_input, psfc_in,pmsl,cmc_in,sm_in, &amp;<a name='39'>
                                            islope_input<a name='40'>
<a name='41'>
   INTEGER , DIMENSION(:,:), ALLOCATABLE :: isltyp_input , ivgtyp_input<a name='42'>
<a name='43'>
   <font color=#447700>!  Input 2D map information.<a name='44'></font>
<a name='45'>
   REAL , DIMENSION(:,:)   , ALLOCATABLE :: lat_mass, lon_mass, &amp;<a name='46'>
                                            lat_wind, lon_wind <a name='47'>
<a name='48'>
   REAL , DIMENSION(:)     , ALLOCATABLE :: DETA_in, AETA_in, ETAX_in<a name='49'>
   REAL , DIMENSION(:)     , ALLOCATABLE :: DETA1_in, AETA1_in, ETA1_in<a name='50'>
   REAL , DIMENSION(:)     , ALLOCATABLE :: DETA2_in, AETA2_in, ETA2_in, dfl_input<a name='51'>
<a name='52'>
   LOGICAL , SAVE :: first_time_in = .TRUE.<a name='53'>
<a name='54'>
   INTEGER :: flag_st000010 , flag_st010040 , flag_st040100 , flag_st100200 , &amp;<a name='55'>
              flag_sm000010 , flag_sm010040 , flag_sm040100 , flag_sm100200 , &amp;<a name='56'>
              flag_st010200 , &amp;<a name='57'>
              flag_sm010200<a name='58'>
   INTEGER :: flag_soilt010 , flag_soilt040 , flag_soilt100 , flag_soilt200 , &amp;<a name='59'>
              flag_soilm010 , flag_soilm040 , flag_soilm100 , flag_soilm200<a name='60'>
<a name='61'>
   INTEGER :: flag_sst , flag_toposoil<a name='62'>
<a name='63'>
   INTEGER                  :: num_st_levels_input , num_sm_levels_input<a name='64'>
   INTEGER , DIMENSION(100) ::     st_levels_input ,     sm_levels_input<a name='65'>
   REAL , ALLOCATABLE , DIMENSION(:,:,:) :: st_input , sm_input<a name='66'>
<a name='67'>
   REAL                     :: pdtop_in, TLM0D, TPH0D<a name='68'>
<a name='69'>
<font color=#447700>!   Some constants to allow simple dimensions in the defined types<a name='70'></font>
<font color=#447700>!   given below.<a name='71'></font>
<a name='72'>
   INTEGER, PARAMETER          :: max_domains = 10<a name='73'>
   INTEGER, PARAMETER          :: var_maxdims = 5<a name='74'>
   INTEGER, PARAMETER          :: max_staggers_xy_new = 4<a name='75'>
   INTEGER, PARAMETER          :: max_staggers_xy_old = 3<a name='76'>
   INTEGER, PARAMETER          :: max_staggers_z = 2<a name='77'>
   INTEGER, PARAMETER          :: max_standard_lats = 4<a name='78'>
   INTEGER, PARAMETER          :: max_standard_lons = 4  <a name='79'>
   INTEGER, PARAMETER          :: max_fg_variables = 200<a name='80'>
   INTEGER, PARAMETER          :: max_vertical_levels = 2000<a name='81'>
<a name='82'>
<font color=#447700>!   This module defines the items needed for the WRF metadata<a name='83'></font>
<font color=#447700>!   which is broken up into three levels:  <a name='84'></font>
<font color=#447700>!      Global metadata:  Those things which apply to the<a name='85'></font>
<font color=#447700>!                        entire simulation that are <a name='86'></font>
<font color=#447700>!                        independent of time, domain, or<a name='87'></font>
<font color=#447700>!                        variable<a name='88'></font>
<font color=#447700>!<a name='89'></font>
<font color=#447700>!      Domain metadata:  Those things which apply to <a name='90'></font>
<font color=#447700>!                        a single domain (this may<a name='91'></font>
<font color=#447700>!                        or may not be time dependent)<a name='92'></font>
<font color=#447700>!<a name='93'></font>
<font color=#447700>!      Variable metadata: Those things which apply to <a name='94'></font>
<font color=#447700>!                        a specific variable at a <a name='95'></font>
<font color=#447700>!                        specific time<a name='96'></font>
<font color=#447700>!<a name='97'></font>
<font color=#447700>!      The variable names and definitions can be <a name='98'></font>
<font color=#447700>!      found in the wrf_metadata spec, which is still<a name='99'></font>
<font color=#447700>!      a living document as coding goes on.   The names<a name='100'></font>
<font color=#447700>!      may not match exactly, but you should be able <a name='101'></font>
<font color=#447700>!      to figure things out.  <a name='102'></font>
<font color=#447700>!<a name='103'></font>
<a name='104'>
   TYPE wrf_var_metadata<a name='105'>
      CHARACTER (LEN=8)         :: name <a name='106'>
      CHARACTER (LEN=16)        :: units<a name='107'>
      CHARACTER (LEN=80)        :: description<a name='108'>
      INTEGER                   :: domain_id<a name='109'>
      INTEGER                   :: ndim<a name='110'>
      INTEGER                   :: dim_val (var_maxdims)<a name='111'>
      CHARACTER(LEN=4)          :: dim_desc (var_maxdims)<a name='112'>
      INTEGER                   :: start_index(var_maxdims)<a name='113'>
      INTEGER                   :: stop_index(var_maxdims)<a name='114'>
      INTEGER                   :: h_stagger_index<a name='115'>
      INTEGER                   :: v_stagger_index<a name='116'>
      CHARACTER(LEN=8)          :: array_order<a name='117'>
      CHARACTER(LEN=4)          :: field_type<a name='118'>
      CHARACTER(LEN=8)          :: field_source_prog<a name='119'>
      CHARACTER(LEN=80)         :: source_desc<a name='120'>
      CHARACTER(LEN=8)          :: field_time_type<a name='121'>
      INTEGER                   :: vt_date_start<a name='122'>
      REAL                      :: vt_time_start<a name='123'>
      INTEGER                   :: vt_date_stop<a name='124'>
      REAL                      :: vt_time_stop<a name='125'>
   END TYPE wrf_var_metadata<a name='126'>
<a name='127'>
   TYPE(wrf_var_metadata)  :: var_meta , var_info<a name='128'>
<a name='129'>
   TYPE wrf_domain_metadata<a name='130'>
      INTEGER                   :: id<a name='131'>
      INTEGER                   :: parent_id<a name='132'>
      CHARACTER(LEN=8)          :: dyn_init_src<a name='133'>
      CHARACTER(LEN=8)          :: static_init_src <a name='134'>
      INTEGER                   :: vt_date<a name='135'>
      REAL                      :: vt_time<a name='136'>
      INTEGER                   :: origin_parent_x<a name='137'>
      INTEGER                   :: origin_parent_y<a name='138'>
      INTEGER                   :: ratio_to_parent<a name='139'>
      REAL                      :: delta_x<a name='140'>
      REAL                      :: delta_y<a name='141'>
      REAL                      :: top_level<a name='142'>
      INTEGER                   :: origin_parent_z<a name='143'>
      REAL                      :: corner_lats_new(4,max_staggers_xy_new)<a name='144'>
      REAL                      :: corner_lons_new(4,max_staggers_xy_new)<a name='145'>
      REAL                      :: corner_lats_old(4,max_staggers_xy_old)<a name='146'>
      REAL                      :: corner_lons_old(4,max_staggers_xy_old)<a name='147'>
      INTEGER                   :: xdim<a name='148'>
      INTEGER                   :: ydim<a name='149'>
      INTEGER                   :: zdim<a name='150'>
   END TYPE wrf_domain_metadata<a name='151'>
   TYPE(wrf_domain_metadata) :: dom_meta<a name='152'>
<a name='153'>
   TYPE wrf_global_metadata<a name='154'>
      CHARACTER(LEN=80)         :: simulation_name<a name='155'>
      CHARACTER(LEN=80)         :: user_desc<a name='156'>
      INTEGER                   :: si_version<a name='157'>
      INTEGER                   :: analysis_version  <a name='158'>
      INTEGER                   :: wrf_version<a name='159'>
      INTEGER                   :: post_version<a name='160'>
      CHARACTER(LEN=32)         :: map_projection<a name='161'>
      REAL                      :: moad_known_lat<a name='162'>
      REAL                      :: moad_known_lon<a name='163'>
      CHARACTER(LEN=8)          :: moad_known_loc<a name='164'>
      REAL                      :: moad_stand_lats(max_standard_lats)<a name='165'>
      REAL                      :: moad_stand_lons(max_standard_lons)<a name='166'>
      REAL                      :: moad_delta_x<a name='167'>
      REAL                      :: moad_delta_y<a name='168'>
      CHARACTER(LEN=4)          :: horiz_stagger_type<a name='169'>
      INTEGER                   :: num_stagger_xy<a name='170'>
      REAL                      :: stagger_dir_x_new(max_staggers_xy_new)<a name='171'>
      REAL                      :: stagger_dir_y_new(max_staggers_xy_new)<a name='172'>
      REAL                      :: stagger_dir_x_old(max_staggers_xy_old)<a name='173'>
      REAL                      :: stagger_dir_y_old(max_staggers_xy_old)<a name='174'>
      INTEGER                   :: num_stagger_z    <a name='175'>
      REAL                      :: stagger_dir_z(max_staggers_z)<a name='176'>
      CHARACTER(LEN=8)          :: vertical_coord<a name='177'>
      INTEGER                   :: num_domains<a name='178'>
      INTEGER                   :: init_date<a name='179'>
      REAL                      :: init_time<a name='180'>
      INTEGER                   :: end_date<a name='181'>
      REAL                      :: end_time<a name='182'>
      CHARACTER(LEN=4)          :: lu_source<a name='183'>
      INTEGER                   :: lu_water<a name='184'>
      INTEGER                   :: lu_ice  <a name='185'>
   END TYPE wrf_global_metadata<a name='186'>
   TYPE(wrf_global_metadata)   :: global_meta<a name='187'>
<a name='188'>
CONTAINS<a name='189'>
<a name='190'>
<A NAME='READ_SI'><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A><a name='191'>
   <font color=#993300>SUBROUTINE </font><font color=#cc0000>read_si</font> ( grid , dx , pt , file_date_string &amp;,<A href='../../call_from/READ_SI.html' TARGET='index'>22</A><a name='192'>
                       ,numx_sm_levels_input              &amp;<a name='193'>
                       ,numx_st_levels_input              &amp;<a name='194'>
                       ,smx_levels_input                  &amp;<a name='195'>
                       ,stx_levels_input                  &amp;<a name='196'>
                       ,ids,ide,jds,jde,kds,kde           &amp;<a name='197'>
                       ,ims,ime,jms,jme,kms,kme           &amp;<a name='198'>
                       ,its,ite,jts,jte,kts,kte)<a name='199'>
<a name='200'>
      USE <A href='../../html_code/share/module_soil_pre.F.html#MODULE_SOIL_PRE'>module_soil_pre</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="MODULE_SOIL_PRE_3"><a name='201'>
      USE <A href='../../html_code/frame/module_domain.F.html#MODULE_DOMAIN'>module_domain</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="MODULE_DOMAIN_21"><a name='202'>
<a name='203'>
      IMPLICIT NONE<a name='204'>
<a name='205'>
      TYPE(domain) , INTENT(INOUT)  :: grid<a name='206'>
      INTEGER , INTENT(IN) :: ids,ide,jds,jde,kds,kde           &amp;<a name='207'>
                             ,ims,ime,jms,jme,kms,kme           &amp;<a name='208'>
                             ,its,ite,jts,jte,kts,kte<a name='209'>
      REAL , INTENT(IN) :: dx<a name='210'>
      REAL , INTENT(OUT) :: pt<a name='211'>
      CHARACTER (LEN=19) , INTENT(IN) :: file_date_string<a name='212'>
<a name='213'>
      REAL,DIMENSION(IDS:IDE-1,JDS:JDE-1) :: dum2d<a name='214'>
      REAL,DIMENSION(IDS:IDE-1,JDS:JDE-1,KDS:KDE-1) :: dum3d<a name='215'>
     <a name='216'>
      INTEGER :: i , j , k , loop<a name='217'>
<a name='218'>
      REAL :: dummy<a name='219'>
<a name='220'>
      CHARACTER (LEN= 8) :: dummy_char<a name='221'>
<a name='222'>
      INTEGER :: ok , map_proj , ok_open<a name='223'>
      integer,intent(out) :: numx_sm_levels_input,numx_st_levels_input<a name='224'>
      real,dimension(100),intent(out) :: smx_levels_input,stx_levels_input<a name='225'>
<a name='226'>
      write(0,*)' enter read_si'<a name='227'>
      <font color=#447700>!  Initialize what soil temperature and moisture is available.<a name='228'></font>
<a name='229'>
      flag_st000010 = 0<a name='230'>
      flag_st010040 = 0<a name='231'>
      flag_st040100 = 0<a name='232'>
      flag_st100200 = 0<a name='233'>
      flag_sm000010 = 0 <a name='234'>
      flag_sm010040 = 0<a name='235'>
      flag_sm040100 = 0<a name='236'>
      flag_sm100200 = 0<a name='237'>
      flag_st010200 = 0<a name='238'>
      flag_sm010200 = 0<a name='239'>
<a name='240'>
      flag_soilt010 = 0<a name='241'>
      flag_soilt040 = 0<a name='242'>
      flag_soilt100 = 0<a name='243'>
      flag_soilt200 = 0 <a name='244'>
      flag_soilm010 = 0 <a name='245'>
      flag_soilm040 = 0<a name='246'>
      flag_soilm100 = 0<a name='247'>
      flag_soilm200 = 0<a name='248'>
<a name='249'>
      flag_sst      = 0<a name='250'>
      flag_toposoil = 0<a name='251'>
<a name='252'>
      <font color=#447700>!  How many soil levels have we found?  Well, right now, none.<a name='253'></font>
<a name='254'>
      num_st_levels_input = 0<a name='255'>
      num_sm_levels_input = 0<a name='256'>
      st_levels_input = -1<a name='257'>
      sm_levels_input = -1<a name='258'>
<a name='259'>
      <font color=#447700>!  Get the space for the data if this is the first time here.<a name='260'></font>
<a name='261'>
	write(6,*) 'enter read_si...first_time_in:: ', first_time_in<a name='262'>
<a name='263'>
      IF ( first_time_in ) THEN<a name='264'>
<a name='265'>
         CLOSE(12)<a name='266'>
         OPEN ( FILE   = 'real_input_nm.global.metadata' , &amp;<a name='267'>
                UNIT   = 12                              , &amp;<a name='268'>
                STATUS = 'OLD'                           , &amp;<a name='269'>
                ACCESS = 'SEQUENTIAL'                    , &amp;<a name='270'>
                FORM   = 'UNFORMATTED'                   , &amp;<a name='271'>
                IOSTAT = ok_open                           )<a name='272'>
<a name='273'>
         IF ( ok_open .NE. 0 ) THEN<a name='274'>
            PRINT '(A)','You asked for WRF SI data, but no real_input_nm.global.metadata file exists.'<a name='275'>
            STOP 'No_real_input_nm.global.metadata_exists'<a name='276'>
         END IF<a name='277'>
<a name='278'>
         READ(12) global_meta%simulation_name, global_meta%user_desc, &amp;<a name='279'>
                  global_meta%si_version, global_meta%analysis_version, &amp;<a name='280'>
                  global_meta%wrf_version, global_meta%post_version<a name='281'>
   <a name='282'>
         REWIND (12)<a name='283'>
<a name='284'>
         IF      ( global_meta%si_version .EQ. 1 ) THEN<a name='285'>
            READ(12) global_meta%simulation_name, global_meta%user_desc, &amp;<a name='286'>
                     global_meta%si_version, global_meta%analysis_version, &amp;<a name='287'>
                     global_meta%wrf_version, global_meta%post_version, &amp;<a name='288'>
                     global_meta%map_projection, global_meta%moad_known_lat, &amp;<a name='289'>
                     global_meta%moad_known_lon, global_meta%moad_known_loc, &amp;<a name='290'>
                     global_meta%moad_stand_lats, global_meta%moad_stand_lons, &amp;<a name='291'>
                     global_meta%moad_delta_x, global_meta%moad_delta_y, &amp;<a name='292'>
                     global_meta%horiz_stagger_type, global_meta%num_stagger_xy, &amp;<a name='293'>
                     global_meta%stagger_dir_x_old, global_meta%stagger_dir_y_old, &amp;<a name='294'>
                     global_meta%num_stagger_z, global_meta%stagger_dir_z, &amp;<a name='295'>
                     global_meta%vertical_coord, global_meta%num_domains, &amp;<a name='296'>
                     global_meta%init_date, global_meta%init_time, &amp;<a name='297'>
                     global_meta%end_date, global_meta%end_time<a name='298'>
         ELSE IF ( global_meta%si_version .EQ. 2 ) THEN<a name='299'>
            READ(12) global_meta%simulation_name, global_meta%user_desc, &amp;<a name='300'>
                     global_meta%si_version, global_meta%analysis_version, &amp;<a name='301'>
                     global_meta%wrf_version, global_meta%post_version, &amp;<a name='302'>
                     global_meta%map_projection, global_meta%moad_known_lat, &amp;<a name='303'>
                     global_meta%moad_known_lon, global_meta%moad_known_loc, &amp;<a name='304'>
                     global_meta%moad_stand_lats, global_meta%moad_stand_lons, &amp;<a name='305'>
                     global_meta%moad_delta_x, global_meta%moad_delta_y, &amp;<a name='306'>
                     global_meta%horiz_stagger_type, global_meta%num_stagger_xy, &amp;<a name='307'>
                     global_meta%stagger_dir_x_new, global_meta%stagger_dir_y_new, &amp;<a name='308'>
                     global_meta%num_stagger_z, global_meta%stagger_dir_z, &amp;<a name='309'>
                     global_meta%vertical_coord, global_meta%num_domains, &amp;<a name='310'>
                     global_meta%init_date, global_meta%init_time, &amp;<a name='311'>
                     global_meta%end_date, global_meta%end_time , &amp;<a name='312'>
                     global_meta%lu_source, global_meta%lu_water, global_meta%lu_ice<a name='313'>
         END IF<a name='314'>
         CLOSE (12)<a name='315'>
   <a name='316'>
         print *,'GLOBAL METADATA'<a name='317'>
         print *,'global_meta%simulation_name', global_meta%simulation_name<a name='318'>
         print *,'global_meta%user_desc', global_meta%user_desc<a name='319'>
         print *,'global_meta%user_desc', global_meta%user_desc<a name='320'>
         print *,'global_meta%si_version', global_meta%si_version<a name='321'>
         print *,'global_meta%analysis_version', global_meta%analysis_version<a name='322'>
         print *,'global_meta%wrf_version', global_meta%wrf_version<a name='323'>
         print *,'global_meta%post_version', global_meta%post_version<a name='324'>
         print *,'global_meta%map_projection', global_meta%map_projection<a name='325'>
         print *,'global_meta%moad_known_lat', global_meta%moad_known_lat<a name='326'>
         print *,'global_meta%moad_known_lon', global_meta%moad_known_lon<a name='327'>
         print *,'global_meta%moad_known_loc', global_meta%moad_known_loc<a name='328'>
         print *,'global_meta%moad_stand_lats', global_meta%moad_stand_lats<a name='329'>
         print *,'global_meta%moad_stand_lons', global_meta%moad_stand_lons<a name='330'>
         print *,'global_meta%moad_delta_x', global_meta%moad_delta_x<a name='331'>
         print *,'global_meta%moad_delta_y', global_meta%moad_delta_y<a name='332'>
         print *,'global_meta%horiz_stagger_type', global_meta%horiz_stagger_type<a name='333'>
         print *,'global_meta%num_stagger_xy', global_meta%num_stagger_xy<a name='334'>
         IF      ( global_meta%si_version .EQ. 1 ) THEN<a name='335'>
            print *,'global_meta%stagger_dir_x', global_meta%stagger_dir_x_old<a name='336'>
            print *,'global_meta%stagger_dir_y', global_meta%stagger_dir_y_old<a name='337'>
         ELSE IF ( global_meta%si_version .EQ. 2 ) THEN<a name='338'>
            print *,'global_meta%stagger_dir_x', global_meta%stagger_dir_x_new<a name='339'>
            print *,'global_meta%stagger_dir_y', global_meta%stagger_dir_y_new<a name='340'>
         END IF<a name='341'>
         print *,'global_meta%num_stagger_z', global_meta%num_stagger_z<a name='342'>
         print *,'global_meta%stagger_dir_z', global_meta%stagger_dir_z<a name='343'>
         print *,'global_meta%vertical_coord', global_meta%vertical_coord<a name='344'>
         print *,'global_meta%num_domains', global_meta%num_domains<a name='345'>
         print *,'global_meta%init_date', global_meta%init_date<a name='346'>
         print *,'global_meta%init_time', global_meta%init_time<a name='347'>
         print *,'global_meta%end_date', global_meta%end_date<a name='348'>
         print *,'global_meta%end_time', global_meta%end_time<a name='349'>
         IF ( global_meta%si_version .EQ. 2 ) THEN<a name='350'>
            print *,'global_meta%lu_source', global_meta%lu_source<a name='351'>
            print *,'global_meta%lu_water', global_meta%lu_water<a name='352'>
            print *,'global_meta%lu_ice', global_meta%lu_ice<a name='353'>
         END IF<a name='354'>
         print *,' '<a name='355'>
<a name='356'>
<a name='357'>
<font color=#447700>!!!!!<a name='358'></font>
	TLM0D=global_meta%moad_known_lon<a name='359'>
	TPH0D=global_meta%moad_known_lat<a name='360'>
<a name='361'>
	write(6,*) 'defined tlm0d, tph0d:: ', tlm0d, tph0d<a name='362'>
<font color=#447700>!!!!!<a name='363'></font>
<a name='364'>
<a name='365'>
<a name='366'>
<font color=#447700>!<a name='367'></font>
<font color=#447700>!	STOP<a name='368'></font>
<font color=#447700>!<a name='369'></font>
         <a name='370'>
         <font color=#447700>!  1D - this is the definition of the vertical coordinate.<a name='371'></font>
<a name='372'>
	IF ( .NOT. ALLOCATED (DETA_in)) ALLOCATE(DETA_in(kds:kde-1))<a name='373'>
	IF ( .NOT. ALLOCATED (AETA_in)) ALLOCATE(AETA_in(kds:kde-1))<a name='374'>
	IF ( .NOT. ALLOCATED (ETAX_in)) ALLOCATE(ETAX_in(kds:kde))<a name='375'>
<a name='376'>
	IF ( .NOT. ALLOCATED (DETA1_in)) ALLOCATE(DETA1_in(kds:kde-1))<a name='377'>
	IF ( .NOT. ALLOCATED (AETA1_in)) ALLOCATE(AETA1_in(kds:kde-1))<a name='378'>
	IF ( .NOT. ALLOCATED (ETA1_in))  ALLOCATE(ETA1_in(kds:kde))<a name='379'>
<a name='380'>
	IF ( .NOT. ALLOCATED (DETA2_in)) ALLOCATE(DETA2_in(kds:kde-1))<a name='381'>
	IF ( .NOT. ALLOCATED (AETA2_in)) ALLOCATE(AETA2_in(kds:kde-1))<a name='382'>
	IF ( .NOT. ALLOCATED (ETA2_in)) ALLOCATE(ETA2_in(kds:kde))<a name='383'>
<a name='384'>
	IF ( .NOT. ALLOCATED (dfl_input)) ALLOCATE(dfl_input(kds:kde))<a name='385'>
<a name='386'>
	<a name='387'>
	write(6,*) 'ix,jx,kx: ', ide-1,jde-1,kde-1<a name='388'>
<a name='389'>
<font color=#447700>!	call wrf_error_fatal ("just want to quit here")	<a name='390'></font>
<a name='391'>
         <font color=#447700>!  3D met<a name='392'></font>
<a name='393'>
         IF ( .NOT. ALLOCATED ( u_input)  ) ALLOCATE ( u_input(its:ite,jts:jte,kts:kte) )<a name='394'>
         IF ( .NOT. ALLOCATED ( v_input)  ) ALLOCATE ( v_input(its:ite,jts:jte,kts:kte) )<a name='395'>
         IF ( .NOT. ALLOCATED ( q_input)  ) ALLOCATE ( q_input(its:ite,jts:jte,kts:kte) )<a name='396'>
         IF ( .NOT. ALLOCATED ( t_input)  ) ALLOCATE ( t_input(its:ite,jts:jte,kts:kte) )<a name='397'>
	write(6,*) 'allocating all 3d inputs with ite,jte,kte:: ', ite,jte,kte<a name='398'>
         IF ( .NOT. ALLOCATED ( htm_in)  ) ALLOCATE ( htm_in(its:ite,jts:jte,kts:kte) )<a name='399'>
         IF ( .NOT. ALLOCATED ( vtm_in)  ) ALLOCATE ( vtm_in(its:ite,jts:jte,kts:kte) )<a name='400'>
<a name='401'>
         <font color=#447700>!  2D pressure fields<a name='402'></font>
<a name='403'>
         IF ( .NOT. ALLOCATED ( pd_input)           ) ALLOCATE ( pd_input(its:ite,jts:jte) )<a name='404'>
         IF ( .NOT. ALLOCATED ( pmsl)           )     ALLOCATE ( pmsl(its:ite,jts:jte) )<a name='405'>
         IF ( .NOT. ALLOCATED ( psfc_in)           )     ALLOCATE ( psfc_in(its:ite,jts:jte) )<a name='406'>
<a name='407'>
         <font color=#447700>!  2D - skin temperature and some sort of soil temp, usually 0-10 cm<a name='408'></font>
<a name='409'>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( tg_input)           ) ALLOCATE ( tg_input(its:ite,jts:jte) )<a name='410'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( res_input)          ) ALLOCATE ( res_input(its:ite,jts:jte) )<a name='411'></font>
<a name='412'>
         <font color=#447700>!  2D - for LSM, these are computed from the categorical precentage values.<a name='413'></font>
<a name='414'>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( isltyp_input)       ) ALLOCATE ( isltyp_input(its:ite,jts:jte) )<a name='415'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( ivgtyp_input)       ) ALLOCATE ( ivgtyp_input(its:ite,jts:jte) )<a name='416'></font>
          IF ( .NOT. ALLOCATED ( islope_input)       ) ALLOCATE ( islope_input(its:ite,jts:jte) )<a name='417'>
<a name='418'>
         <font color=#447700>!  2D - for LSM, this is a new field from the SI<a name='419'></font>
<a name='420'>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( t_annual_avg_input) ) ALLOCATE ( t_annual_avg_input(its:ite,jts:jte) )<a name='421'></font>
<a name='422'>
         <font color=#447700>!  2D - for LSM, the various soil temperature and moisture levels that are available.<a name='423'></font>
<a name='424'>
         IF ( .NOT. ALLOCATED ( st000010_input)    ) ALLOCATE ( st000010_input(its:ite,jts:jte) )<a name='425'>
         IF ( .NOT. ALLOCATED ( st010040_input)    ) ALLOCATE ( st010040_input(its:ite,jts:jte) )<a name='426'>
         IF ( .NOT. ALLOCATED ( st040100_input)    ) ALLOCATE ( st040100_input(its:ite,jts:jte) )<a name='427'>
         IF ( .NOT. ALLOCATED ( st100200_input)    ) ALLOCATE ( st100200_input(its:ite,jts:jte) )<a name='428'>
         IF ( .NOT. ALLOCATED ( st010200_input)    ) ALLOCATE ( st010200_input(its:ite,jts:jte) )<a name='429'>
         IF ( .NOT. ALLOCATED ( st_input      )    ) ALLOCATE ( st_input      (its:ite,jts:jte,10) )<a name='430'>
         IF ( .NOT. ALLOCATED ( sm000010_input)    ) ALLOCATE ( sm000010_input(its:ite,jts:jte) )<a name='431'>
         IF ( .NOT. ALLOCATED ( sm010040_input)    ) ALLOCATE ( sm010040_input(its:ite,jts:jte) )<a name='432'>
         IF ( .NOT. ALLOCATED ( sm040100_input)    ) ALLOCATE ( sm040100_input(its:ite,jts:jte) )<a name='433'>
         IF ( .NOT. ALLOCATED ( sm100200_input)    ) ALLOCATE ( sm100200_input(its:ite,jts:jte) )<a name='434'>
         IF ( .NOT. ALLOCATED ( sm010200_input)    ) ALLOCATE ( sm010200_input(its:ite,jts:jte) )<a name='435'>
         IF ( .NOT. ALLOCATED ( sm_input      )    ) ALLOCATE ( sm_input      (its:ite,jts:jte,10) )<a name='436'>
<a name='437'>
         IF ( .NOT. ALLOCATED ( soilt010_input)    ) ALLOCATE ( soilt010_input(its:ite,jts:jte) )<a name='438'>
         IF ( .NOT. ALLOCATED ( soilt040_input)    ) ALLOCATE ( soilt040_input(its:ite,jts:jte) )<a name='439'>
         IF ( .NOT. ALLOCATED ( soilt100_input)    ) ALLOCATE ( soilt100_input(its:ite,jts:jte) )<a name='440'>
         IF ( .NOT. ALLOCATED ( soilt200_input)    ) ALLOCATE ( soilt200_input(its:ite,jts:jte) )<a name='441'>
         IF ( .NOT. ALLOCATED ( soilm010_input)   ) ALLOCATE ( soilm010_input(its:ite,jts:jte) )<a name='442'>
         IF ( .NOT. ALLOCATED ( soilm040_input)    ) ALLOCATE ( soilm040_input(its:ite,jts:jte) )<a name='443'>
         IF ( .NOT. ALLOCATED ( soilm100_input)    ) ALLOCATE ( soilm100_input(its:ite,jts:jte) )<a name='444'>
         IF ( .NOT. ALLOCATED ( soilm200_input)    ) ALLOCATE ( soilm200_input(its:ite,jts:jte) )<a name='445'>
<a name='446'>
         <font color=#447700>! 2D - for LSM, seaice and snow, maybe runoff is later.<a name='447'></font>
<a name='448'>
         IF ( .NOT. ALLOCATED ( seaice_input)      ) ALLOCATE ( seaice_input(its:ite,jts:jte) )<a name='449'>
         IF ( .NOT. ALLOCATED ( snow_input)        ) ALLOCATE ( snow_input(its:ite,jts:jte) )<a name='450'>
         IF ( .NOT. ALLOCATED ( canwat_input)      ) ALLOCATE ( canwat_input(its:ite,jts:jte) )<a name='451'>
<a name='452'>
         IF ( .NOT. ALLOCATED ( landuse_input)     ) ALLOCATE ( landuse_input(its:ite,jts:jte) )<a name='453'>
         IF ( .NOT. ALLOCATED ( landmask_input)    ) ALLOCATE ( landmask_input(its:ite,jts:jte) )<a name='454'>
<a name='455'>
         IF ( .NOT. ALLOCATED ( skintemp_input)    ) ALLOCATE ( skintemp_input(its:ite,jts:jte)  )<a name='456'>
         IF ( .NOT. ALLOCATED ( sst_input)         ) ALLOCATE ( sst_input(its:ite,jts:jte)  )<a name='457'>
         IF ( .NOT. ALLOCATED ( green_frac_min)  ) ALLOCATE ( green_frac_min(its:ite,jts:jte))<a name='458'>
         IF ( .NOT. ALLOCATED ( green_frac_input)  ) ALLOCATE ( green_frac_input(its:ite,jts:jte))<a name='459'>
         IF ( .NOT. ALLOCATED ( green_frac_max)  ) ALLOCATE ( green_frac_max(its:ite,jts:jte))<a name='460'>
         IF ( .NOT. ALLOCATED ( albase_input)  ) ALLOCATE ( albase_input(its:ite,jts:jte))<a name='461'>
         IF ( .NOT. ALLOCATED ( mxsnal_input)  ) ALLOCATE ( mxsnal_input(its:ite,jts:jte))<a name='462'>
         IF ( .NOT. ALLOCATED ( cmc_in )  ) ALLOCATE ( cmc_in (its:ite,jts:jte))<a name='463'>
         IF ( .NOT. ALLOCATED ( sm_in )  ) ALLOCATE ( sm_in (its:ite,jts:jte))<a name='464'>
<a name='465'>
<a name='466'>
<font color=#447700>!!!! FIS<a name='467'></font>
        IF ( .NOT. ALLOCATED ( ter_input)         ) ALLOCATE ( ter_input(its:ite,jts:jte) )<a name='468'>
<a name='469'>
<font color=#447700>!       IF ( .NOT. ALLOCATED ( ter_std_input)     ) ALLOCATE ( ter_std_input(its:ite,jts:jte) )<a name='470'></font>
<font color=#447700>!       IF ( .NOT. ALLOCATED ( ter_slpx_input)    ) ALLOCATE ( ter_slpx_input(its:ite,jts:jte) )<a name='471'></font>
<font color=#447700>!       IF ( .NOT. ALLOCATED ( ter_slpy_input)    ) ALLOCATE ( ter_slpy_input(its:ite,jts:jte) )<a name='472'></font>
<font color=#447700>!       IF ( .NOT. ALLOCATED ( toposoil_input)    ) ALLOCATE ( toposoil_input(its:ite,jts:jte) )<a name='473'></font>
<a name='474'>
         <font color=#447700>!  2D terrestrial fields other than elevation stuff.<a name='475'></font>
<a name='476'>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( msft_input)         ) ALLOCATE ( msft_input(its:ite,jts:jte) )<a name='477'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( msfu_input)         ) ALLOCATE ( msfu_input(its:ite,jts:jte) )<a name='478'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( msfv_input)         ) ALLOCATE ( msfv_input(its:ite,jts:jte) )<a name='479'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( sina_input)         ) ALLOCATE ( sina_input(its:ite,jts:jte) )<a name='480'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( cosa_input)         ) ALLOCATE ( cosa_input(its:ite,jts:jte) )<a name='481'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( e_input)            ) ALLOCATE ( e_input(its:ite,jts:jte) )<a name='482'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( f_input)            ) ALLOCATE ( f_input(its:ite,jts:jte) )<a name='483'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( lat_input)          ) ALLOCATE ( lat_input(its:ite,jts:jte) )<a name='484'></font>
<font color=#447700>!         IF ( .NOT. ALLOCATED ( lon_input)          ) ALLOCATE ( lon_input(its:ite,jts:jte) )<a name='485'></font>
	<a name='486'>
	IF (.NOT. ALLOCATED (lat_mass)) ALLOCATE (lat_mass(its:ite,jts:jte))<a name='487'>
	IF (.NOT. ALLOCATED (lat_wind)) ALLOCATE (lat_wind(its:ite,jts:jte))<a name='488'>
	IF (.NOT. ALLOCATED (lon_mass)) ALLOCATE (lon_mass(its:ite,jts:jte))<a name='489'>
	IF (.NOT. ALLOCATED (lon_wind)) ALLOCATE (lon_wind(its:ite,jts:jte))<a name='490'>
<a name='491'>
<a name='492'>
      END IF<a name='493'>
<a name='494'>
      CLOSE(13)<a name='495'>
<a name='496'>
	write(6,*) 'file_date_string: ', file_date_string<a name='497'>
	write(6,*) 'opening real_input_nm.d01... as unit 13'<a name='498'>
      OPEN ( FILE   = 'real_input_nm.d01.'//file_date_string , &amp;<a name='499'>
             UNIT   = 13                                     , &amp;<a name='500'>
             STATUS = 'OLD'                                  , &amp;<a name='501'>
             ACCESS = 'SEQUENTIAL'                           , &amp;<a name='502'>
             FORM   = 'UNFORMATTED'                            )<a name='503'>
<a name='504'>
      IF      ( global_meta%si_version .EQ. 1 ) THEN<a name='505'>
         READ (13) dom_meta%id,dom_meta%parent_id,dom_meta%dyn_init_src,&amp;<a name='506'>
                   dom_meta%static_init_src, dom_meta%vt_date, dom_meta%vt_time, &amp;<a name='507'>
                   dom_meta%origin_parent_x, dom_meta%origin_parent_y, &amp;<a name='508'>
                   dom_meta%ratio_to_parent, dom_meta%delta_x, dom_meta%delta_y, &amp;<a name='509'>
                   dom_meta%top_level, dom_meta%origin_parent_z, &amp;<a name='510'>
                   dom_meta%corner_lats_old, dom_meta%corner_lons_old, dom_meta%xdim, &amp;<a name='511'>
                   dom_meta%ydim, dom_meta%zdim<a name='512'>
      ELSE IF ( global_meta%si_version .EQ. 2 ) THEN<a name='513'>
         READ (13) dom_meta%id,dom_meta%parent_id,dom_meta%dyn_init_src,&amp;<a name='514'>
                   dom_meta%static_init_src, dom_meta%vt_date, dom_meta%vt_time, &amp;<a name='515'>
                   dom_meta%origin_parent_x, dom_meta%origin_parent_y, &amp;<a name='516'>
                   dom_meta%ratio_to_parent, dom_meta%delta_x, dom_meta%delta_y, &amp;<a name='517'>
                   dom_meta%top_level, dom_meta%origin_parent_z, &amp;<a name='518'>
                   dom_meta%corner_lats_new, dom_meta%corner_lons_new, dom_meta%xdim, &amp;<a name='519'>
                   dom_meta%ydim, dom_meta%zdim<a name='520'>
      END IF<a name='521'>
<a name='522'>
      print *,'DOMAIN METADATA'<a name='523'>
      print *,'dom_meta%id=', dom_meta%id<a name='524'>
      print *,'dom_meta%parent_id=', dom_meta%parent_id<a name='525'>
      print *,'dom_meta%dyn_init_src=', dom_meta%dyn_init_src<a name='526'>
      print *,'dom_meta%static_init_src=', dom_meta%static_init_src<a name='527'>
      print *,'dom_meta%vt_date=', dom_meta%vt_date<a name='528'>
      print *,'dom_meta%vt_time=', dom_meta%vt_time<a name='529'>
      print *,'dom_meta%origin_parent_x=', dom_meta%origin_parent_x<a name='530'>
      print *,'dom_meta%origin_parent_y=', dom_meta%origin_parent_y<a name='531'>
      print *,'dom_meta%ratio_to_parent=', dom_meta%ratio_to_parent<a name='532'>
      print *,'dom_meta%delta_x=', dom_meta%delta_x<a name='533'>
      print *,'dom_meta%delta_y=', dom_meta%delta_y<a name='534'>
      print *,'dom_meta%top_level=', dom_meta%top_level<a name='535'>
      print *,'dom_meta%origin_parent_z=', dom_meta%origin_parent_z<a name='536'>
      IF      ( global_meta%si_version .EQ. 1 ) THEN<a name='537'>
         print *,'dom_meta%corner_lats=', dom_meta%corner_lats_old<a name='538'>
         print *,'dom_meta%corner_lons=', dom_meta%corner_lons_old<a name='539'>
      ELSE IF ( global_meta%si_version .EQ. 2 ) THEN<a name='540'>
         print *,'dom_meta%corner_lats=', dom_meta%corner_lats_new<a name='541'>
         print *,'dom_meta%corner_lons=', dom_meta%corner_lons_new<a name='542'>
      END IF<a name='543'>
      print *,'dom_meta%xdim=', dom_meta%xdim<a name='544'>
      print *,'dom_meta%ydim=', dom_meta%ydim<a name='545'>
      print *,'dom_meta%zdim=', dom_meta%zdim<a name='546'>
      print *,' '<a name='547'>
<a name='548'>
      <font color=#447700>!  A simple domain size test.<a name='549'></font>
    <a name='550'>
<a name='551'>
<font color=#447700>!!	relax constraint, as model namelist has +1 for i and j, while<a name='552'></font>
<font color=#447700>!!	si data has true dimensions<a name='553'></font>
<a name='554'>
      IF (  abs(dom_meta%xdim - (ide-1)) .gt. 1 &amp;<a name='555'>
       .OR. abs(dom_meta%ydim - (jde-1)) .gt. 1 &amp;<a name='556'>
       .OR. abs(dom_meta%zdim - (kde-1)) .gt. 1) THEN<a name='557'>
         PRINT '(A)','Namelist does not match the input data.'<a name='558'>
         PRINT '(A,3I5,A)','Namelist dimensions =',ide-1,jde-1,kde-1,'.'<a name='559'>
         PRINT '(A,3I5,A)','Input data dimensions =',dom_meta%xdim,dom_meta%ydim,dom_meta%zdim,'.'<a name='560'>
         STOP 'Wrong_data_size'<a name='561'>
      END IF<a name='562'>
<a name='563'>
      <font color=#447700>! How about the grid distance?  Is it the same as in the namelist?<a name='564'></font>
<a name='565'>
<font color=#447700>!      IF ( ABS ( dom_meta%delta_x - dx ) .GT. 1 ) THEN<a name='566'></font>
<font color=#447700>!         PRINT '(A)','Grid distance differs between input file and namelist.'<a name='567'></font>
<font color=#447700>!         PRINT '(A,F8.1,A)','Grid distance in input file = ',dom_meta%delta_x,' m.'<a name='568'></font>
<font color=#447700>!         PRINT '(A,F8.1,A)','Grid distance in namelist = ',dx,' m.'<a name='569'></font>
<font color=#447700>!         STOP 'Wrong_grid_distance'<a name='570'></font>
<font color=#447700>!      END IF<a name='571'></font>
<a name='572'>
      IF        ( global_meta%si_version .EQ. 1 ) THEN<a name='573'>
         CALL nl_set_cen_lat ( grid%id , ( dom_meta%corner_lats_old(1,1) + dom_meta%corner_lats_old(2,1) +        &amp;<a name='574'>
                                        dom_meta%corner_lats_old(3,1) + dom_meta%corner_lats_old(4,1) ) * 0.25 ) <a name='575'>
      ELSE IF ( ( global_meta%si_version .EQ. 2 ) .AND. ( global_meta%moad_known_loc(1:6) .EQ. 'CENTER' ) ) THEN<a name='576'>
         CALL nl_set_cen_lat ( grid%id , global_meta%moad_known_lat )<a name='577'>
      ELSE IF   ( global_meta%si_version .EQ. 2 ) THEN<a name='578'>
         CALL nl_set_cen_lat ( grid%id , ( dom_meta%corner_lats_new(1,1) + dom_meta%corner_lats_new(2,1) +        &amp;<a name='579'>
                                        dom_meta%corner_lats_new(3,1) + dom_meta%corner_lats_new(4,1) ) * 0.25 ) <a name='580'>
      END IF<a name='581'>
<a name='582'>
<a name='583'>
<font color=#447700>!!!	might be trouble here<a name='584'></font>
<a name='585'>
      CALL nl_set_cen_lon ( grid%id , global_meta%moad_stand_lons(1) )<a name='586'>
<font color=#447700>!!!!!<a name='587'></font>
	write(6,*) 'set_cen_lat... global_meta%moad_stand_lats(1): ', global_meta%moad_stand_lats(1)<a name='588'>
      CALL nl_set_cen_lat ( grid%id , global_meta%moad_stand_lats(1) )<a name='589'>
<font color=#447700>!!!!!<a name='590'></font>
      CALL nl_set_truelat1 ( grid%id , global_meta%moad_stand_lats(1) )<a name='591'>
      CALL nl_set_truelat2 ( grid%id , global_meta%moad_stand_lats(2) )<a name='592'>
<a name='593'>
      pt = dom_meta%top_level<a name='594'>
<a name='595'>
      IF      ( global_meta%map_projection(1:17) .EQ. 'LAMBERT CONFORMAL'   ) THEN<a name='596'>
         map_proj = 1<a name='597'>
      ELSE IF ( global_meta%map_projection(1:19) .EQ. 'POLAR STEREOGRAPHIC' ) THEN<a name='598'>
         map_proj = 2<a name='599'>
      ELSE IF ( global_meta%map_projection(1: 8) .EQ. 'MERCATOR'            ) THEN<a name='600'>
         map_proj = 3<a name='601'>
      ELSE IF ( global_meta%map_projection(1:14) .EQ. 'ROTATED LATLON' ) THEN<a name='602'>
	map_proj = 203 <font color=#447700>!?<a name='603'></font>
      ELSE<a name='604'>
         PRINT '(A,A,A)','Undefined map projection: ',TRIM(global_meta%map_projection(1:20)),'.'<a name='605'>
         STOP 'Undefined_map_proj_si'<a name='606'>
      END IF<a name='607'>
      CALL nl_set_map_proj ( grid%id , map_proj ) <a name='608'>
     <a name='609'>
      IF      ( global_meta%si_version .EQ. 1 ) THEN<a name='610'>
         CALL <A href='../../html_code/frame/module_configure.F.html#NL_SET_MMINLU'>nl_set_mminlu</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="NL_SET_MMINLU_7"> ( 'USGS' )<a name='611'>
         CALL nl_set_iswater (grid%id, 16 )<a name='612'>
      ELSE IF ( global_meta%si_version .EQ. 2 ) THEN<a name='613'>
         CALL <A href='../../html_code/frame/module_configure.F.html#NL_SET_MMINLU'>nl_set_mminlu</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="NL_SET_MMINLU_8"> ( global_meta%lu_source )<a name='614'>
         CALL nl_set_iswater (grid%id, global_meta%lu_water )<a name='615'>
         CALL nl_set_isice (grid%id, global_meta%lu_ice )<a name='616'>
      END IF<a name='617'>
<a name='618'>
      CALL nl_set_gmt (grid%id, dom_meta%vt_time / 3600. )<a name='619'>
      CALL nl_set_julyr (grid%id, dom_meta%vt_date / 1000 )<a name='620'>
      CALL nl_set_julday (grid%id, dom_meta%vt_date - ( dom_meta%vt_date / 1000 ) * 1000 )<a name='621'>
<a name='622'>
	write(6,*) 'start reading from unit 13'<a name='623'>
      read_all_the_data : DO<a name='624'>
<a name='625'>
         READ (13,IOSTAT=OK) var_info%name, var_info%units, &amp;<a name='626'>
                             var_info%description, var_info%domain_id, var_info%ndim, &amp;<a name='627'>
                             var_info%dim_val, var_info%dim_desc, var_info%start_index, &amp;<a name='628'>
                             var_info%stop_index, var_info%h_stagger_index, var_info%v_stagger_index,&amp;<a name='629'>
                             var_info%array_order, var_info%field_type, var_info%field_source_prog, &amp;<a name='630'>
                             var_info%source_desc, var_info%field_time_type, var_info%vt_date_start, &amp;<a name='631'>
                             var_info%vt_time_start, var_info%vt_date_stop, var_info%vt_time_stop<a name='632'>
<a name='633'>
         IF ( OK .NE. 0 ) THEN<a name='634'>
            PRINT '(A,A,A)','End of file found for real_input_nm.d01.',file_date_string,'.'<a name='635'>
            EXIT read_all_the_data<a name='636'>
         END IF<a name='637'>
<a name='638'>
<font color=#447700>!        print *,'VARIABLE METADATA'<a name='639'></font>
         PRINT '(A,A)','var_info%name=', var_info%name <a name='640'>
<font color=#447700>!        print *,'var_info%units=', var_info%units <a name='641'></font>
<font color=#447700>!        print *,'var_info%description=', var_info%description <a name='642'></font>
<font color=#447700>!        print *,'var_info%domain_id=', var_info%domain_id <a name='643'></font>
<font color=#447700>!        print *,'var_info%ndim=', var_info%ndim <a name='644'></font>
<font color=#447700>!        print *,'var_info%dim_val=', var_info%dim_val <a name='645'></font>
<font color=#447700>!        print *,'var_info%dim_desc=', var_info%dim_desc <a name='646'></font>
<font color=#447700>!        print *,'var_info%start_index=', var_info%start_index <a name='647'></font>
<font color=#447700>!        print *,'var_info%stop_index=', var_info%stop_index <a name='648'></font>
<font color=#447700>!        print *,'var_info%h_stagger_index=', var_info%h_stagger_index <a name='649'></font>
<font color=#447700>!        print *,'var_info%v_stagger_index=', var_info%v_stagger_index<a name='650'></font>
<font color=#447700>!        print *,'var_info%array_order=', var_info%array_order <a name='651'></font>
<font color=#447700>!        print *,'var_info%field_type=', var_info%field_type <a name='652'></font>
<font color=#447700>!        print *,'var_info%field_source_prog=', var_info%field_source_prog <a name='653'></font>
<font color=#447700>!        print *,'var_info%source_desc=', var_info%source_desc <a name='654'></font>
<font color=#447700>!        print *,'var_info%field_time_type=', var_info%field_time_type <a name='655'></font>
<font color=#447700>!        print *,'var_info%vt_date_start=', var_info%vt_date_start <a name='656'></font>
<font color=#447700>!        print *,'var_info%vt_time_start=', var_info%vt_time_start <a name='657'></font>
<font color=#447700>!        print *,'var_info%vt_date_stop=', var_info%vt_date_stop <a name='658'></font>
<font color=#447700>!        print *,'var_info%vt_time_stop=', var_info%vt_time_stop<a name='659'></font>
<a name='660'>
         <font color=#447700>!  3D meteorological fields.<a name='661'></font>
<a name='662'>
      write(0,*)' read_si var_info%name=',var_info%name(1:8)<a name='663'>
         IF      ( var_info%name(1:8) .EQ. 'T       ' ) THEN<a name='664'>
            READ (13) dum3d<a name='665'>
            do k=kts,kte<a name='666'>
            do j=jts,jte<a name='667'>
            do i=its,ite<a name='668'>
              t_input(i,j,k)=dum3d(i,j,k)<a name='669'>
            enddo<a name='670'>
            enddo<a name='671'>
            enddo<a name='672'>
	do K=1,kde-1<a name='673'>
	write(6,*) 't_input, K: ', K, t_input(1,1,K)<a name='674'>
	enddo<a name='675'>
	<a name='676'>
	write(6,*) 't_input(5,5,5): ', t_input(5,5,5)<a name='677'>
         ELSE IF      ( var_info%name(1:8) .EQ. 'U       ' ) THEN<a name='678'>
            READ (13) dum3d<a name='679'>
            do k=kts,kte<a name='680'>
            do j=jts,jte<a name='681'>
            do i=its,ite<a name='682'>
              u_input(i,j,k)=dum3d(i,j,k)<a name='683'>
            enddo<a name='684'>
            enddo<a name='685'>
            enddo<a name='686'>
	do K=1,kde-1<a name='687'>
	write(6,*) 'u_input, K: ', K, u_input(1,1,K)<a name='688'>
	enddo<a name='689'>
	write(6,*) 'u_input(5,5,5): ', u_input(5,5,5)<a name='690'>
<a name='691'>
         ELSE IF ( var_info%name(1:8) .EQ. 'V       ' ) THEN<a name='692'>
            READ (13) dum3d<a name='693'>
            do k=kts,kte<a name='694'>
            do j=jts,jte<a name='695'>
            do i=its,ite<a name='696'>
              v_input(i,j,k)=dum3d(i,j,k)<a name='697'>
            enddo<a name='698'>
            enddo<a name='699'>
            enddo<a name='700'>
	do K=1,kde-1<a name='701'>
	write(6,*) 'v_input, K: ', K, v_input(1,1,K)<a name='702'>
	enddo<a name='703'>
	write(6,*) 'v_input(5,5,5): ', v_input(5,5,5)<a name='704'>
<a name='705'>
         ELSE IF ( var_info%name(1:8) .EQ. 'Q      ' ) THEN<a name='706'>
            READ (13) dum3d<a name='707'>
            do k=kts,kte<a name='708'>
            do j=jts,jte<a name='709'>
            do i=its,ite<a name='710'>
              q_input(i,j,k)=dum3d(i,j,k)<a name='711'>
            enddo<a name='712'>
            enddo<a name='713'>
            enddo<a name='714'>
	do K=1,kde-1<a name='715'>
	write(6,*) 'q_input, K: ', K, q_input(1,1,K)<a name='716'>
	enddo<a name='717'>
	write(6,*) 'q_input(5,5,5): ', q_input(5,5,5)<a name='718'>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'THETA   ' ) THEN<a name='719'></font>
<font color=#447700>!            READ (13) theta_input<a name='720'></font>
<a name='721'>
         <font color=#447700>!  3D LSM fields.  Don't know the 3rd dimension until we read it in.<a name='722'></font>
<a name='723'>
         ELSE IF ( var_info%name(1:8) .EQ. 'LANDUSEF' ) THEN<a name='724'>
            IF ( ( first_time_in ) .AND. ( .NOT. ALLOCATED ( landuse_frac_input) ) ) THEN<a name='725'>
               ALLOCATE (landuse_frac_input(its:ite,jts:jte,var_info%dim_val(3)) )<a name='726'>
            END IF<a name='727'>
            READ (13) (((dum3d(i,j,k),i=ids,ide-1),j=jds,jde-1),k=1,var_info%dim_val(3))<a name='728'>
            do k=1,var_info%dim_val(3)<a name='729'>
            do j=jts,jte<a name='730'>
            do i=its,ite<a name='731'>
              landuse_frac_input(i,j,k)=dum3d(i,j,k)<a name='732'>
            enddo<a name='733'>
            enddo<a name='734'>
            enddo<a name='735'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SOILCTOP' ) THEN<a name='736'>
            IF ( ( first_time_in ) .AND. ( .NOT. ALLOCATED ( soil_top_cat_input) ) ) THEN<a name='737'>
               ALLOCATE (soil_top_cat_input(its:ite,jts:jte,var_info%dim_val(3)) )<a name='738'>
            END IF<a name='739'>
            READ (13) (((dum3d(i,j,k),i=ids,ide-1),j=jds,jde-1),k=1,var_info%dim_val(3))<a name='740'>
            do k=1,var_info%dim_val(3)<a name='741'>
            do j=jts,jte<a name='742'>
            do i=its,ite<a name='743'>
              soil_top_cat_input(i,j,k)=dum3d(i,j,k)<a name='744'>
            enddo<a name='745'>
            enddo<a name='746'>
            enddo<a name='747'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SOILCBOT' ) THEN<a name='748'>
            IF ( ( first_time_in ) .AND. ( .NOT. ALLOCATED ( soil_bot_cat_input) ) ) THEN<a name='749'>
               ALLOCATE (soil_bot_cat_input(its:ite,jts:jte,var_info%dim_val(3)) )<a name='750'>
            END IF<a name='751'>
            READ (13) (((dum3d(i,j,k),i=ids,ide-1),j=jds,jde-1),k=1,var_info%dim_val(3))<a name='752'>
            do k=1,var_info%dim_val(3)<a name='753'>
            do j=jts,jte<a name='754'>
            do i=its,ite<a name='755'>
              soil_bot_cat_input(i,j,k)=dum3d(i,j,k)<a name='756'>
            enddo<a name='757'>
            enddo<a name='758'>
            enddo<a name='759'>
<a name='760'>
         <font color=#447700>!  2D dry pressure minus ptop.<a name='761'></font>
<a name='762'>
         ELSE IF ( var_info%name(1:8) .EQ. 'PD      ' ) THEN<a name='763'>
            READ (13) dum2d<a name='764'>
            do j=jts,jte<a name='765'>
            do i=its,ite<a name='766'>
              pd_input(i,j)=dum2d(i,j)<a name='767'>
            enddo<a name='768'>
            enddo<a name='769'>
	write(6,*) 'pd_input(1,1):: ', pd_input(1,1)<a name='770'>
         ELSE IF ( var_info%name(1:8) .EQ. 'PSFC    ' ) THEN<a name='771'>
            READ (13) dum2d<a name='772'>
            do j=jts,jte<a name='773'>
            do i=its,ite<a name='774'>
              psfc_in(i,j)=dum2d(i,j)<a name='775'>
            enddo<a name='776'>
            enddo<a name='777'>
         ELSE IF ( var_info%name(1:8) .EQ. 'PMSL    ' ) THEN<a name='778'>
            READ (13) dum2d<a name='779'>
            do j=jts,jte<a name='780'>
            do i=its,ite<a name='781'>
              pmsl(i,j)=dum2d(i,j)<a name='782'>
            enddo<a name='783'>
            enddo<a name='784'>
         ELSE IF ( var_info%name(1:8) .EQ. 'PDTOP   ' ) THEN<a name='785'>
            READ (13) pdtop_in<a name='786'>
         ELSE IF ( var_info%name(1:8) .EQ. 'PT      ' ) THEN<a name='787'>
            READ (13) pt<a name='788'>
<a name='789'>
         <font color=#447700>!  2D surface fields.<a name='790'></font>
<a name='791'>
	ELSE IF ( var_info%name(1:8) .eq. 'GLAT    ' ) THEN<a name='792'>
            READ (13) dum2d<a name='793'>
            do j=jts,jte<a name='794'>
            do i=its,ite<a name='795'>
              lat_mass(i,j)=dum2d(i,j)<a name='796'>
            enddo<a name='797'>
            enddo<a name='798'>
	ELSE IF ( var_info%name(1:8) .eq. 'GLON    ' ) THEN<a name='799'>
            READ (13) dum2d<a name='800'>
            do j=jts,jte<a name='801'>
            do i=its,ite<a name='802'>
              lon_mass(i,j)=dum2d(i,j)<a name='803'>
            enddo<a name='804'>
            enddo<a name='805'>
	ELSE IF ( var_info%name(1:8) .eq. 'LAT_V   ' ) THEN<a name='806'>
            READ (13) dum2d<a name='807'>
            do j=jts,jte<a name='808'>
            do i=its,ite<a name='809'>
              lat_wind(i,j)=dum2d(i,j)<a name='810'>
            enddo<a name='811'>
            enddo<a name='812'>
	ELSE IF ( var_info%name(1:8) .eq. 'LON_V   ' ) THEN<a name='813'>
            READ (13) dum2d<a name='814'>
            do j=jts,jte<a name='815'>
            do i=its,ite<a name='816'>
              lon_wind(i,j)=dum2d(i,j)<a name='817'>
            enddo<a name='818'>
            enddo<a name='819'>
<a name='820'>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'T_AVGANN' ) THEN<a name='821'></font>
<font color=#447700>!            READ (13) t_annual_avg_input<a name='822'></font>
<a name='823'>
         ELSE IF ( var_info%name(1:8) .EQ. 'ST000010' ) THEN<a name='824'>
            READ (13) dum2d<a name='825'>
            do j=jts,jte<a name='826'>
            do i=its,ite<a name='827'>
              st000010_input(i,j)=dum2d(i,j)<a name='828'>
<font color=#447700>!             res_input(i,j)=dum2d(i,j)<a name='829'></font>
            enddo<a name='830'>
            enddo<a name='831'>
            flag_st000010 = 1<a name='832'>
            num_st_levels_input = num_st_levels_input + 1<a name='833'>
	write(6,*) 'num_st_levels_input=',num_st_levels_input<a name='834'>
	write(6,*) 'st000010_input(50,50): ', st000010_input(50,50)<a name='835'>
            st_levels_input(num_st_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_1">(var_info%name(3:8))<a name='836'>
            st_input(:,:,num_st_levels_input + 1) = st000010_input<a name='837'>
         ELSE IF ( var_info%name(1:8) .EQ. 'ST010040' ) THEN<a name='838'>
            READ (13) dum2d<a name='839'>
            do j=jts,jte<a name='840'>
            do i=its,ite<a name='841'>
              st010040_input(i,j)=dum2d(i,j)<a name='842'>
            enddo<a name='843'>
            enddo<a name='844'>
            flag_st010040 = 1<a name='845'>
            num_st_levels_input = num_st_levels_input + 1<a name='846'>
            st_levels_input(num_st_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_2">(var_info%name(3:8))<a name='847'>
	write(6,*) 'num_st_levels_input=',num_st_levels_input<a name='848'>
	write(6,*) 'st_levels_input: ', st_levels_input<a name='849'>
            st_input(:,:,num_st_levels_input + 1) = st010040_input<a name='850'>
         ELSE IF ( var_info%name(1:8) .EQ. 'ST040100' ) THEN<a name='851'>
            READ (13) dum2d<a name='852'>
            do j=jts,jte<a name='853'>
            do i=its,ite<a name='854'>
              st040100_input(i,j)=dum2d(i,j)<a name='855'>
            enddo<a name='856'>
            enddo<a name='857'>
            flag_st040100 = 1<a name='858'>
            num_st_levels_input = num_st_levels_input + 1<a name='859'>
            st_levels_input(num_st_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_3">(var_info%name(3:8))<a name='860'>
	write(6,*) 'num_st_levels_input=',num_st_levels_input<a name='861'>
	write(6,*) 'st_levels_input: ', st_levels_input<a name='862'>
            st_input(:,:,num_st_levels_input + 1) = st040100_input<a name='863'>
         ELSE IF ( var_info%name(1:8) .EQ. 'ST100200' ) THEN<a name='864'>
            READ (13) dum2d<a name='865'>
            do j=jts,jte<a name='866'>
            do i=its,ite<a name='867'>
              st100200_input(i,j)=dum2d(i,j)<a name='868'>
            enddo<a name='869'>
            enddo<a name='870'>
            flag_st100200 = 1<a name='871'>
            num_st_levels_input = num_st_levels_input + 1<a name='872'>
            st_levels_input(num_st_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_4">(var_info%name(3:8))<a name='873'>
	write(6,*) 'num_st_levels_input=',num_st_levels_input<a name='874'>
	write(6,*) 'st_levels_input: ', st_levels_input<a name='875'>
            st_input(:,:,num_st_levels_input + 1) = st100200_input<a name='876'>
         ELSE IF ( var_info%name(1:8) .EQ. 'ST010200' ) THEN<a name='877'>
            READ (13) dum2d<a name='878'>
            do j=jts,jte<a name='879'>
            do i=its,ite<a name='880'>
              st010200_input(i,j)=dum2d(i,j)<a name='881'>
            enddo<a name='882'>
            enddo<a name='883'>
            flag_st010200 = 1<a name='884'>
            num_st_levels_input = num_st_levels_input + 1<a name='885'>
            st_levels_input(num_st_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_5">(var_info%name(3:8))<a name='886'>
	write(6,*) 'num_st_levels_input=',num_st_levels_input<a name='887'>
	write(6,*) 'num_st_levels_input:: ', num_st_levels_input<a name='888'>
            st_input(:,:,num_st_levels_input + 1) = st010200_input<a name='889'>
        ELSE IF ( var_info%name(1:8) .EQ. 'SM000010' ) THEN<a name='890'>
            READ (13) dum2d<a name='891'>
            do j=jts,jte<a name='892'>
            do i=its,ite<a name='893'>
              sm000010_input(i,j)=dum2d(i,j)<a name='894'>
            enddo<a name='895'>
            enddo<a name='896'>
            flag_sm000010 = 1<a name='897'>
            num_sm_levels_input = num_sm_levels_input + 1<a name='898'>
            sm_levels_input(num_sm_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_6">(var_info%name(3:8))<a name='899'>
            sm_input(:,:,num_sm_levels_input + 1) = sm000010_input<a name='900'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SM010040' ) THEN<a name='901'>
            READ (13) dum2d<a name='902'>
            do j=jts,jte<a name='903'>
            do i=its,ite<a name='904'>
              sm010040_input(i,j)=dum2d(i,j)<a name='905'>
            enddo<a name='906'>
            enddo<a name='907'>
            flag_sm010040 = 1<a name='908'>
            num_sm_levels_input = num_sm_levels_input + 1<a name='909'>
            sm_levels_input(num_sm_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_7">(var_info%name(3:8))<a name='910'>
            sm_input(:,:,num_sm_levels_input + 1) = sm010040_input<a name='911'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SM040100' ) THEN<a name='912'>
            READ (13) dum2d<a name='913'>
            do j=jts,jte<a name='914'>
            do i=its,ite<a name='915'>
              sm040100_input(i,j)=dum2d(i,j)<a name='916'>
            enddo<a name='917'>
            enddo<a name='918'>
            flag_sm040100 = 1<a name='919'>
            num_sm_levels_input = num_sm_levels_input + 1<a name='920'>
            sm_levels_input(num_sm_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_8">(var_info%name(3:8))<a name='921'>
            sm_input(:,:,num_sm_levels_input + 1) = sm040100_input<a name='922'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SM100200' ) THEN<a name='923'>
            READ (13) dum2d<a name='924'>
            do j=jts,jte<a name='925'>
            do i=its,ite<a name='926'>
              sm100200_input(i,j)=dum2d(i,j)<a name='927'>
            enddo<a name='928'>
            enddo<a name='929'>
            flag_sm100200 = 1<a name='930'>
            num_sm_levels_input = num_sm_levels_input + 1<a name='931'>
            sm_levels_input(num_sm_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_9">(var_info%name(3:8))<a name='932'>
            sm_input(:,:,num_sm_levels_input + 1) = sm100200_input<a name='933'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SM010200' ) THEN<a name='934'>
            READ (13) dum2d<a name='935'>
            do j=jts,jte<a name='936'>
            do i=its,ite<a name='937'>
              sm010200_input(i,j)=dum2d(i,j)<a name='938'>
            enddo<a name='939'>
            enddo<a name='940'>
            flag_sm010200 = 1<a name='941'>
            num_sm_levels_input = num_sm_levels_input + 1<a name='942'>
            sm_levels_input(num_sm_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT2'>char2int2</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT2_10">(var_info%name(3:8))<a name='943'>
            sm_input(:,:,num_sm_levels_input + 1) = sm010200_input<a name='944'>
<a name='945'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SOILT010' ) THEN<a name='946'>
            READ (13) dum2d<a name='947'>
            do j=jts,jte<a name='948'>
            do i=its,ite<a name='949'>
              soilt010_input(i,j)=dum2d(i,j)<a name='950'>
<font color=#447700>!             res_input(i,j)=dum2d(i,j)<a name='951'></font>
            enddo<a name='952'>
            enddo<a name='953'>
            flag_soilt010 = 1<a name='954'>
            num_st_levels_input = num_st_levels_input + 1<a name='955'>
            st_levels_input(num_st_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT1'>char2int1</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT1_1">(var_info%name(6:8))<a name='956'>
            st_input(:,:,num_st_levels_input + 1) = soilt010_input<a name='957'>
	write(6,*) 'num_st_levels_input=',num_st_levels_input<a name='958'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SOILT040' ) THEN<a name='959'>
            READ (13) dum2d<a name='960'>
            do j=jts,jte<a name='961'>
            do i=its,ite<a name='962'>
              soilt040_input(i,j)=dum2d(i,j)<a name='963'>
            enddo<a name='964'>
            enddo<a name='965'>
            flag_soilt040 = 1<a name='966'>
            num_st_levels_input = num_st_levels_input + 1<a name='967'>
            st_levels_input(num_st_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT1'>char2int1</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT1_2">(var_info%name(6:8))<a name='968'>
            st_input(:,:,num_st_levels_input + 1) = soilt040_input<a name='969'>
	write(6,*) 'num_st_levels_input=',num_st_levels_input<a name='970'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SOILT100' ) THEN<a name='971'>
            READ (13) dum2d<a name='972'>
            do j=jts,jte<a name='973'>
            do i=its,ite<a name='974'>
              soilt100_input(i,j)=dum2d(i,j)<a name='975'>
            enddo<a name='976'>
            enddo<a name='977'>
            flag_soilt100 = 1<a name='978'>
            num_st_levels_input = num_st_levels_input + 1<a name='979'>
            st_levels_input(num_st_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT1'>char2int1</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT1_3">(var_info%name(6:8))<a name='980'>
            st_input(:,:,num_st_levels_input + 1) = soilt100_input<a name='981'>
	write(6,*) 'num_st_levels_input=',num_st_levels_input<a name='982'>
        ELSE IF ( var_info%name(1:8) .EQ. 'SOILT200' ) THEN<a name='983'>
            READ (13) dum2d<a name='984'>
            do j=jts,jte<a name='985'>
            do i=its,ite<a name='986'>
              soilt200_input(i,j)=dum2d(i,j)<a name='987'>
            enddo<a name='988'>
            enddo<a name='989'>
            flag_soilt200 = 1<a name='990'>
            num_st_levels_input = num_st_levels_input + 1<a name='991'>
            st_levels_input(num_st_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT1'>char2int1</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT1_4">(var_info%name(6:8))<a name='992'>
            st_input(:,:,num_st_levels_input + 1) = soilt200_input<a name='993'>
	write(6,*) 'num_st_levels_input=',num_st_levels_input<a name='994'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SOILM010' ) THEN<a name='995'>
            READ (13) dum2d<a name='996'>
            do j=jts,jte<a name='997'>
            do i=its,ite<a name='998'>
              soilm010_input(i,j)=dum2d(i,j)<a name='999'>
            enddo<a name='1000'>
            enddo<a name='1001'>
            flag_soilm010 = 1<a name='1002'>
            num_sm_levels_input = num_sm_levels_input + 1<a name='1003'>
            sm_levels_input(num_sm_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT1'>char2int1</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT1_5">(var_info%name(6:8))<a name='1004'>
            sm_input(:,:,num_sm_levels_input + 1) = soilm010_input<a name='1005'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SOILM040' ) THEN<a name='1006'>
            READ (13) dum2d<a name='1007'>
            do j=jts,jte<a name='1008'>
            do i=its,ite<a name='1009'>
              soilm040_input(i,j)=dum2d(i,j)<a name='1010'>
            enddo<a name='1011'>
            enddo<a name='1012'>
            flag_soilm040 = 1<a name='1013'>
            num_sm_levels_input = num_sm_levels_input + 1<a name='1014'>
            sm_levels_input(num_sm_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT1'>char2int1</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT1_6">(var_info%name(6:8))<a name='1015'>
            sm_input(:,:,num_sm_levels_input + 1) = soilm040_input<a name='1016'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SOILM100' ) THEN<a name='1017'>
            READ (13) dum2d<a name='1018'>
            do j=jts,jte<a name='1019'>
            do i=its,ite<a name='1020'>
              soilm100_input(i,j)=dum2d(i,j)<a name='1021'>
            enddo<a name='1022'>
            enddo<a name='1023'>
            flag_soilm100 = 1<a name='1024'>
            num_sm_levels_input = num_sm_levels_input + 1<a name='1025'>
            sm_levels_input(num_sm_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT1'>char2int1</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT1_7">(var_info%name(6:8))<a name='1026'>
            sm_input(:,:,num_sm_levels_input + 1) = soilm100_input<a name='1027'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SOILM200' ) THEN<a name='1028'>
            READ (13) dum2d<a name='1029'>
            do j=jts,jte<a name='1030'>
            do i=its,ite<a name='1031'>
              soilm200_input(i,j)=dum2d(i,j)<a name='1032'>
            enddo<a name='1033'>
            enddo<a name='1034'>
            flag_soilm200 = 1<a name='1035'>
            num_sm_levels_input = num_sm_levels_input + 1<a name='1036'>
            sm_levels_input(num_sm_levels_input) = <A href='../../html_code/share/module_optional_si_input.F.html#CHAR2INT1'>char2int1</A><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#READ_SI' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="CHAR2INT1_8">(var_info%name(6:8))<a name='1037'>
            sm_input(:,:,num_sm_levels_input + 1) = soilm200_input<a name='1038'>
<a name='1039'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SEAICE  ' ) THEN<a name='1040'>
            READ (13) dum2d<a name='1041'>
            do j=jts,jte<a name='1042'>
            do i=its,ite<a name='1043'>
              seaice_input(i,j)=dum2d(i,j)<a name='1044'>
            enddo<a name='1045'>
            enddo<a name='1046'>
         ELSE IF ( var_info%name(1:8) .EQ. 'WEASD   ' ) THEN<a name='1047'>
            READ (13) dum2d<a name='1048'>
            do j=jts,jte<a name='1049'>
            do i=its,ite<a name='1050'>
              snow_input(i,j)=dum2d(i,j)<a name='1051'>
            enddo<a name='1052'>
            enddo<a name='1053'>
         ELSE IF ( var_info%name(1:8) .EQ. 'CANWAT  ' ) THEN<a name='1054'>
            READ (13) dum2d<a name='1055'>
            do j=jts,jte<a name='1056'>
            do i=its,ite<a name='1057'>
              canwat_input(i,j)=dum2d(i,j)<a name='1058'>
            enddo<a name='1059'>
            enddo<a name='1060'>
         ELSE IF ( var_info%name(1:8) .EQ. 'LANDMASK' ) THEN<a name='1061'>
	write(6,*) 'size of landmask_input in read_si: ', size(landmask_input,dim=1),&amp;<a name='1062'>
                                                          size(landmask_input,dim=2)<a name='1063'>
            READ (13) dum2d<a name='1064'>
            do j=jts,jte<a name='1065'>
            do i=its,ite<a name='1066'>
              landmask_input(i,j)=dum2d(i,j)<a name='1067'>
            enddo<a name='1068'>
            enddo<a name='1069'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SKINTEMP' ) THEN<a name='1070'>
            READ (13) dum2d<a name='1071'>
            do j=jts,jte<a name='1072'>
            do i=its,ite<a name='1073'>
              skintemp_input(i,j)=dum2d(i,j)<a name='1074'>
<font color=#447700>!             tg_input(i,j)=dum2d(i,j)<a name='1075'></font>
              tg_input=skintemp_input<a name='1076'>
            enddo<a name='1077'>
            enddo<a name='1078'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SST     ' ) THEN<a name='1079'>
            READ (13) dum2d<a name='1080'>
            do j=jts,jte<a name='1081'>
            do i=its,ite<a name='1082'>
              sst_input(i,j)=dum2d(i,j)<a name='1083'>
            enddo<a name='1084'>
            enddo<a name='1085'>
            flag_sst = 1<a name='1086'>
         ELSE IF ( var_info%name(1:8) .EQ. 'GREENFRC' ) THEN<a name='1087'>
            READ (13) dum2d<a name='1088'>
            do j=jts,jte<a name='1089'>
            do i=its,ite<a name='1090'>
              green_frac_input(i,j)=dum2d(i,j)<a name='1091'>
            enddo<a name='1092'>
            enddo<a name='1093'>
         ELSE IF ( var_info%name(1:8) .EQ. 'ISLOPE  ' ) THEN<a name='1094'>
            READ (13) dum2d<a name='1095'>
            do j=jts,jte<a name='1096'>
            do i=its,ite<a name='1097'>
              islope_input(i,j)=dum2d(i,j)<a name='1098'>
            enddo<a name='1099'>
            enddo<a name='1100'>
         ELSE IF ( var_info%name(1:8) .EQ. 'GREENMAX' ) THEN<a name='1101'>
            READ (13) dum2d<a name='1102'>
            do j=jts,jte<a name='1103'>
            do i=its,ite<a name='1104'>
              green_frac_max(i,j)=dum2d(i,j)<a name='1105'>
            enddo<a name='1106'>
            enddo<a name='1107'>
	write(6,*) 'green_frac_max(5,5): ', green_frac_max(5,5)<a name='1108'>
         ELSE IF ( var_info%name(1:8) .EQ. 'GREENMIN' ) THEN<a name='1109'>
            READ (13) dum2d<a name='1110'>
            do j=jts,jte<a name='1111'>
            do i=its,ite<a name='1112'>
              green_frac_min(i,j)=dum2d(i,j)<a name='1113'>
            enddo<a name='1114'>
            enddo<a name='1115'>
	write(6,*) 'green_frac_min(5,5): ', green_frac_min(5,5)<a name='1116'>
         ELSE IF ( var_info%name(1:8) .EQ. 'FIS     ' ) THEN<a name='1117'>
            READ (13) dum2d<a name='1118'>
            do j=jts,jte<a name='1119'>
            do i=its,ite<a name='1120'>
              ter_input(i,j)=dum2d(i,j)<a name='1121'>
            enddo<a name='1122'>
            enddo<a name='1123'>
	write(6,*) 'maxval of ter_input: ', maxval(ter_input)<a name='1124'>
         ELSE IF ( var_info%name(1:8) .EQ. 'CMC     ' ) THEN<a name='1125'>
            READ (13) dum2d<a name='1126'>
            do j=jts,jte<a name='1127'>
            do i=its,ite<a name='1128'>
              cmc_in(i,j)=dum2d(i,j)<a name='1129'>
            enddo<a name='1130'>
            enddo<a name='1131'>
         ELSE IF ( var_info%name(1:8) .EQ. 'HTM     ' ) THEN<a name='1132'>
            READ (13) dum3d<a name='1133'>
            do k=kts,kte<a name='1134'>
            do j=jts,jte<a name='1135'>
            do i=its,ite<a name='1136'>
              htm_in(i,j,k)=dum3d(i,j,k)<a name='1137'>
            enddo<a name='1138'>
            enddo<a name='1139'>
            enddo<a name='1140'>
         ELSE IF ( var_info%name(1:8) .EQ. 'VTM     ' ) THEN<a name='1141'>
            READ (13) dum3d<a name='1142'>
            do k=kts,kte<a name='1143'>
            do j=jts,jte<a name='1144'>
            do i=its,ite<a name='1145'>
              vtm_in(i,j,k)=dum3d(i,j,k)<a name='1146'>
            enddo<a name='1147'>
            enddo<a name='1148'>
            enddo<a name='1149'>
         ELSE IF ( var_info%name(1:8) .EQ. 'SM      ' ) THEN<a name='1150'>
            READ (13) dum2d<a name='1151'>
            do j=jts,jte<a name='1152'>
            do i=its,ite<a name='1153'>
              sm_in(i,j)=dum2d(i,j)<a name='1154'>
            enddo<a name='1155'>
            enddo<a name='1156'>
         ELSE IF ( var_info%name(1:8) .EQ. 'ALBASE  ' ) THEN<a name='1157'>
            READ (13) dum2d<a name='1158'>
            do j=jts,jte<a name='1159'>
            do i=its,ite<a name='1160'>
              albase_input(i,j)=dum2d(i,j)<a name='1161'>
            enddo<a name='1162'>
            enddo<a name='1163'>
         ELSE IF ( var_info%name(1:8) .EQ. 'MXSNAL  ' ) THEN<a name='1164'>
            READ (13) dum2d<a name='1165'>
            do j=jts,jte<a name='1166'>
            do i=its,ite<a name='1167'>
              mxsnal_input(i,j)=dum2d(i,j)<a name='1168'>
            enddo<a name='1169'>
            enddo<a name='1170'>
<font color=#447700>!         ELSE IF(( var_info%name(1:8) .EQ. 'USGSLAND' ) .AND. ( global_meta%si_version .EQ. 1 ) ) THEN<a name='1171'></font>
<font color=#447700>!            READ (13) landuse_input<a name='1172'></font>
<font color=#447700>!         ELSE IF(( var_info%name(1:8) .EQ. 'TERRAIN ' ) .AND. ( global_meta%si_version .EQ. 1 ) ) THEN <a name='1173'></font>
<font color=#447700>!            READ (13) ter_input<a name='1174'></font>
<font color=#447700>!         ELSE IF(( var_info%name(1:8) .EQ. 'TOPO_M  ' ) .AND. ( global_meta%si_version .EQ. 2 ) ) THEN<a name='1175'></font>
<font color=#447700>!            READ (13) ter_input<a name='1176'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'TOPOSTDV' ) THEN<a name='1177'></font>
<font color=#447700>!            READ (13) ter_std_input<a name='1178'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'TOPOSLPX' ) THEN<a name='1179'></font>
<font color=#447700>!            READ (13) ter_slpx_input<a name='1180'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'TOPOSLPY' ) THEN<a name='1181'></font>
<font color=#447700>!            READ (13) ter_slpy_input<a name='1182'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'SOILHGT ' ) THEN<a name='1183'></font>
<font color=#447700>!            READ (13) toposoil_input<a name='1184'></font>
<font color=#447700>!            flag_toposoil = 1<a name='1185'></font>
<a name='1186'>
         <font color=#447700>!  2D map input fields.<a name='1187'></font>
<a name='1188'>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'MAPFAC_M' ) THEN<a name='1189'></font>
<font color=#447700>!            READ (13) msft_input<a name='1190'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'MAPFAC_U' ) THEN<a name='1191'></font>
<font color=#447700>!            READ (13) msfu_input<a name='1192'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'MAPFAC_V' ) THEN<a name='1193'></font>
<font color=#447700>!            READ (13) msfv_input<a name='1194'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'SINALPHA' ) THEN<a name='1195'></font>
<font color=#447700>!            READ (13) sina_input<a name='1196'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'COSALPHA' ) THEN<a name='1197'></font>
<font color=#447700>!            READ (13) cosa_input<a name='1198'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'H_CORIOL' ) THEN<a name='1199'></font>
<font color=#447700>!            READ (13) f_input<a name='1200'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'V_CORIOL' ) THEN<a name='1201'></font>
<font color=#447700>!            READ (13) e_input<a name='1202'></font>
<font color=#447700>!         ELSE IF(( var_info%name(1:8) .EQ. 'LATITUDE' ) .AND. ( global_meta%si_version .EQ. 1 ) ) THEN<a name='1203'></font>
<font color=#447700>!            READ (13) lat_input<a name='1204'></font>
<font color=#447700>!         ELSE IF(( var_info%name(1:8) .EQ. 'LONGITUD' ) .AND. ( global_meta%si_version .EQ. 1 ) ) THEN<a name='1205'></font>
<font color=#447700>!            READ (13) lon_input<a name='1206'></font>
<font color=#447700>!         ELSE IF(( var_info%name(1:8) .EQ. 'LAT_M   ' ) .AND. ( global_meta%si_version .EQ. 2 ) ) THEN<a name='1207'></font>
<font color=#447700>!            READ (13) lat_input<a name='1208'></font>
<font color=#447700>!         ELSE IF(( var_info%name(1:8) .EQ. 'LON_M   ' ) .AND. ( global_meta%si_version .EQ. 2 ) ) THEN<a name='1209'></font>
<font color=#447700>!            READ (13) lon_input<a name='1210'></font>
<a name='1211'>
         <font color=#447700>!  1D vertical coordinate.<a name='1212'></font>
<a name='1213'>
          ELSE IF ( var_info%name(1:8) .EQ. 'DETA    ' ) THEN<a name='1214'>
	     READ(13) DETA_in<a name='1215'>
          ELSE IF ( var_info%name(1:8) .EQ. 'DETA1   ' ) THEN<a name='1216'>
	     READ(13) DETA1_in<a name='1217'>
          ELSE IF ( var_info%name(1:8) .EQ. 'DETA2   ' ) THEN<a name='1218'>
	     READ(13) DETA2_in<a name='1219'>
          ELSE IF ( var_info%name(1:8) .EQ. 'ETAX    ' ) THEN<a name='1220'>
	     READ(13) ETAX_in<a name='1221'>
          ELSE IF ( var_info%name(1:8) .EQ. 'ETA1    ' ) THEN<a name='1222'>
	     READ(13) ETA1_in<a name='1223'>
          ELSE IF ( var_info%name(1:8) .EQ. 'ETA2    ' ) THEN<a name='1224'>
	     READ(13) ETA2_in<a name='1225'>
          ELSE IF ( var_info%name(1:8) .EQ. 'AETA    ' ) THEN<a name='1226'>
	     READ(13) AETA_in<a name='1227'>
          ELSE IF ( var_info%name(1:8) .EQ. 'AETA1   ' ) THEN<a name='1228'>
	     READ(13) AETA1_in<a name='1229'>
          ELSE IF ( var_info%name(1:8) .EQ. 'AETA2   ' ) THEN<a name='1230'>
	     READ(13) AETA2_in<a name='1231'>
          ELSE IF ( var_info%name(1:8) .EQ. 'DFL     ' ) THEN<a name='1232'>
	     READ(13) dfl_input<a name='1233'>
<a name='1234'>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'ETAPHALF' ) THEN<a name='1235'></font>
<font color=#447700>!            READ (13) etahalf<a name='1236'></font>
<font color=#447700>!         ELSE IF ( var_info%name(1:8) .EQ. 'ETAPFULL' ) THEN<a name='1237'></font>
<font color=#447700>!            READ (13) etafull<a name='1238'></font>
<a name='1239'>
         <font color=#447700>!  wrong input data.<a name='1240'></font>
<a name='1241'>
         ELSE IF ( var_info%name(1:8) .EQ. 'ZETAFULL' ) THEN<a name='1242'>
            PRINT '(A)','Oops, you put in the height data.'<a name='1243'>
            STOP 'this_is_mass_not_height'<a name='1244'>
 <a name='1245'>
<a name='1246'>
         <font color=#447700>!  Stuff that we do not want or need is just skipped over.<a name='1247'></font>
<a name='1248'>
         ELSE<a name='1249'>
print *,'------------------&gt; skipping ', var_info%name(1:8)<a name='1250'>
            READ (13) dummy<a name='1251'>
         END IF<a name='1252'>
<a name='1253'>
      END DO read_all_the_data<a name='1254'>
<a name='1255'>
      CLOSE (13)<a name='1256'>
<a name='1257'>
      first_time_in = .FALSE.<a name='1258'>
<a name='1259'>
      write(6,*)' exit read_si num_st_levels_input=',num_st_levels_input<a name='1260'>
      write(0,*)' exit read_si num_st_levels_input=',num_st_levels_input<a name='1261'>
      numx_sm_levels_input=num_sm_levels_input<a name='1262'>
      numx_st_levels_input=num_st_levels_input<a name='1263'>
      smx_levels_input=sm_levels_input<a name='1264'>
      stx_levels_input=st_levels_input<a name='1265'>
      write(6,*) 'end of read_si...st_levels_input:: ', st_levels_input<a name='1266'>
<a name='1267'>
   END SUBROUTINE read_si<a name='1268'>
<a name='1269'>
<font color=#447700>!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<a name='1270'></font>
<a name='1271'>
<A NAME='CHAR2INT1'><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#CHAR2INT1' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A><a name='1272'>
   <font color=#993300>FUNCTION </font><font color=#cc0000>char2int1</font>( string3 ) RESULT ( int1 ) <A href='../../call_to/CHAR2INT1.html' TARGET='index'>26</A><a name='1273'>
      CHARACTER (LEN=3) , INTENT(IN) :: string3<a name='1274'>
      INTEGER :: i1 , int1<a name='1275'>
      READ(string3,fmt='(I3)') i1<a name='1276'>
      int1 = i1<a name='1277'>
   END FUNCTION char2int1<a name='1278'>
<a name='1279'>
<A NAME='CHAR2INT2'><A href='../../html_code/dyn_nmm/module_si_io_nmm.F.html#CHAR2INT2' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A><a name='1280'>
   <font color=#993300>FUNCTION </font><font color=#cc0000>char2int2</font>( string6 ) RESULT ( int1 ) <A href='../../call_to/CHAR2INT2.html' TARGET='index'>25</A><a name='1281'>
      CHARACTER (LEN=6) , INTENT(IN) :: string6<a name='1282'>
      INTEGER :: i2 , i1 , int1<a name='1283'>
      READ(string6,fmt='(I3,I3)') i1,i2<a name='1284'>
      int1 = ( i2 + i1 ) / 2<a name='1285'>
   END FUNCTION char2int2<a name='1286'>
<a name='1287'>
END MODULE module_si_io_nmm<a name='1288'>
</pre></body></html>