    SUBROUTINE READ_SST12M
!>--------------------------------------------------------------------------------------------------
!> SUBROUTINE READ_SST12M
!>
!> SUBROUTINE: READ_SST12M - ?????
!> PROGRAMMER: ?????
!> ORG: ?????
!> DATE: ??-??-??
!>
!> ABSTRACT:
!> ?????
!>
!> PROGRAM HISTORY LOG:
!> ??-??-??  ?????      - ORIGINATOR
!> 18-01-15  LUCCI      - MODERNIZATION OF THE CODE, INCLUDING:
!>                        * F77 TO F90/F95
!>                        * INDENTATION & UNIFORMIZATION CODE
!>                        * REPLACEMENT OF COMMONS BLOCK FOR MODULES
!>                        * DOCUMENTATION WITH DOXYGEN
!>                        * OPENMP FUNCTIONALITY
!>
!>
!> INPUT ARGUMENT LIST:
!> NONE
!>
!> OUTPUT ARGUMENT LIST:
!> NONE
!>
!> INPUT/OUTPUT ARGUMENT LIST:
!> NONE 
!>
!> USE MODULES: ACMCLH
!>              ACMCLD
!>              ACMPRE
!>              ACMRDL
!>              ACMRDS
!>              ACMSFC
!>              BOCO
!>              CLDWTR
!>              CNVCLD
!>              CONTIN
!>              CTLBLK
!>              DYNAM
!>              F77KINDS
!>              GLB_TABLE
!>              INDX
!>              LOOPS
!>              MAPOT
!>              MAPPINGS
!>              MASKS
!>              MPPCOM
!>              PARMETA
!>              PARMSOIL
!>              PARM_TBL
!>              PHYS2
!>              PVRBLS
!>              SOIL
!>              TEMPCOM
!>              TOPO
!>              VRBLS
!>
!> DRIVER     : INIT
!>              INITS
!>
!> CALLS      : -----
!--------------------------------------------------------------------------------------------------
    USE ACMCLH
    USE ACMCLD
    USE ACMPRE
    USE ACMRDL
    USE ACMRDS
    USE ACMSFC
    USE BOCO
    USE CLDWTR
    USE CNVCLD
    USE CONTIN
    USE CTLBLK
    USE DYNAM2
    USE F77KINDS
    USE GLB_TABLE
    USE INDX
    USE LOOPS
    USE MAPOT0
    USE MAPPINGS
    USE MASKS
    USE MPPCOM
    USE PARMETA
    USE PARMSOIL
    USE PARM_TBL
    USE PHYS2
    USE PVRBLS
    USE SOIL
    USE TEMPCOM
    USE TOPO
    USE VRBLS
!
    INCLUDE "mpif.h"
!
    REAL   (KIND=R4KIND), PARAMETER :: G      =    9.8           
    REAL   (KIND=R4KIND), PARAMETER :: CM1    = 2937.4
    REAL   (KIND=R4KIND), PARAMETER :: CM2    =    4.9283
    REAL   (KIND=R4KIND), PARAMETER :: CM3    =   23.5518
    REAL   (KIND=R4KIND), PARAMETER :: EPS    =    0.622
    REAL   (KIND=R4KIND), PARAMETER :: Q2INI  =     .50
    REAL   (KIND=R4KIND), PARAMETER :: EPSQ2  =    2.E-2
    REAL   (KIND=R4KIND), PARAMETER :: EPSQ   =    2.E-12
    REAL   (KIND=R4KIND), PARAMETER :: EPSWET =    0.0
    REAL   (KIND=R4KIND), PARAMETER :: Z0LAND =     .10
    REAL   (KIND=R4KIND), PARAMETER :: Z0SEA  =     .001
    REAL   (KIND=R4KIND), PARAMETER :: FCM    =     .00001
    REAL   (KIND=R4KIND), PARAMETER :: DTR    =    0.1745329E-1
    REAL   (KIND=R4KIND), PARAMETER :: H360   =  360.0
    REAL   (KIND=R4KIND), PARAMETER :: H1905  =  190.5
    REAL   (KIND=R4KIND), PARAMETER :: H105   =  105.0
!
    INTEGER(KIND=I4KIND), PARAMETER :: IMJM = IM * JM - JM / 2
    INTEGER(KIND=I4KIND), PARAMETER :: JMP1 = JM + 1
    INTEGER(KIND=I4KIND), PARAMETER :: IMT  = 2  * IM - 1
!------------------
! DECLARE VARIABLES
!-------------------
    LOGICAL(KIND=L4KIND)                                                                        ::&
    & RUNB
!
    CHARACTER(LEN=32)                                                                           ::&
    & LABEL
!
    CHARACTER(LEN=40)                                                                           ::&
    & CONTRL  , FILALL  , FILMST  , FILTMP  , FILTKE  , FILUNV  , FILCLD  , FILRAD  , FILSFC
!
    INTEGER(KIND=I4KIND), DIMENSION(3)                                                          ::&
    & IDATB
!
#include "sp.h"
!
    INTEGER(KIND=I4KIND), DIMENSION(MPI_STATUS_SIZE)                                            ::&
    & ISTAT
!
    REAL   (KIND=R4KIND), DIMENSION(IM, JM, 24)                                                ::&
    & GMS
!
#ifdef DP_REAL
    INTEGER(KIND=I8KIND), DIMENSION(IM, JM)                                                     ::&
    & ITEMPX
!
    INTEGER(KIND=I8KIND)                                                                        ::&
    & NFCSTX  , NBCX    , LISTX   , IDTADX  , KHLAX   , KHHAX   , KVLAX   , KVHAX   , KHL2X   ,   &
    & KHH2X   , KVL2X   , KVH2X   , IXMX    , IYMX
!
    LOGICAL(KIND=L8KIND)                                                                        ::&
    & SIGMAX
#endif
!-------------------------------------------------
! ADAPTADO PARA A LEITURA DO ARQUIVO DE SST MENSAL 
! A DATA INICIAL DO ARQUIVO E JAN 1959
!-------------------------------------------------  
    OPEN(1, FORM='UNFORMATTED', FILE='MONTHLY_SST.bin', ACCESS='SEQUENTIAL') 
!----------------
! DISTRIBUTE SSTM
!----------------  
    DO M=1,24
        IF (MYPE == 0) THEN
            READ(1) TEMP1
        END IF
!
        CALL DSTRB(TEMP1, SSTM, 1, 24, M)
!
    END DO
!
    OPEN(8, FORM='FORMATTED', FILE='TEMPO_INIT_SST.txt')
!
    READ(8,*) INITSST
!------------------------------
! END OF SUBROUTINE READ_SST12M    
!------------------------------
    RETURN
!
    END SUBROUTINE READ_SST12M
