Skip to content
Snippets Groups Projects
ini_modeln.f90 76 KiB
Newer Older
  • Learn to ignore specific revisions
  •     GINIDCONV=.FALSE.
      END IF
    !
    !  commensurability between convection calling time and time step
    !
      XDTCONV=XTSTEP*REAL( INT( (MIN(XDTCONV,1800.)+1.E-10)/XTSTEP ) )
      XDTCONV=MAX( XDTCONV, XTSTEP )
      IF (NVERB>=10) THEN
        WRITE(ILUOUT,*) 'XDTCONV has been set to : ',XDTCONV
      END IF
      CALL INI_DEEP_CONVECTION (HINIFILE,HLUOUT,GINIDCONV,TDTCUR,        &
                               NCOUNTCONV,XDTHCONV,XDRVCONV,XDRCCONV,    &
                               XDRICONV,XPRCONV,XPRSCONV,XPACCONV,       &
                               XUMFCONV,XDMFCONV,XMFCONV,XPRLFLXCONV,XPRSFLXCONV,&
                               XCAPE,NCLTOPCONV,NCLBASCONV,              &
    
                               TDTDCONV, CGETSVCONV, XDSVCONV,           &
    
                               LCH_CONV_LINOX, XIC_RATE, XCG_RATE,       &
                               XIC_TOTAL_NUMBER, XCG_TOTAL_NUMBER        )
    
    END IF
    !
    !-------------------------------------------------------------------------------
    !
    !
    
    !*      19.    ALLOCATION OF THE TEMPORAL SERIES
    
    !              ---------------------------------
    !
    IF (LSERIES .AND. CPROGRAM/='DIAG  ') CALL INI_SERIES_n
    !
    !-------------------------------------------------------------------------------
    !
    !
    
    !*      20.   (re)initialize scalar variables
    
    !             -------------------------------
    !
    !
    IF ( LUSECHEM .OR. LCHEMDIAG ) THEN
      IF (CPROGRAM=='MESONH'.AND.CCONF=='RESTA') LCH_INIT_FIELD =.FALSE.
      IF (CPROGRAM=='MESONH'.OR. CPROGRAM=='DIAG  ' .OR. CPROGRAM=='IDEAL ') &
            CALL CH_INIT_FIELD_n(KMI, ILUOUT, NVERB)
    END IF
    !
    !-------------------------------------------------------------------------------
    !
    
    !*      22.    UPDATE HALO
    
    !              -----------
    !
    !
    CALL UPDATE_HALO_ll(TZINITHALO3D_ll,IINFO_ll)
    CALL UPDATE_HALO_ll(TZINITHALO2D_ll,IINFO_ll)
    CALL CLEANLIST_ll(TZINITHALO3D_ll)
    CALL CLEANLIST_ll(TZINITHALO2D_ll)
    !
    !
    !-------------------------------------------------------------------------------
    !
    
    !*      23.    DEALLOCATION
    
    !              -------------
    !
    DEALLOCATE(ZJ)
    !
    DEALLOCATE(XSTROATM)
    DEALLOCATE(XSMLSATM)
    DEALLOCATE(XSMLWATM)
    DEALLOCATE(XSPOSATM)
    DEALLOCATE(XSPOWATM)
    !
    !-------------------------------------------------------------------------------
    !
    
    !*      24.     BALLOON and AIRCRAFT initializations
    
    !              ------------------------------------
    !
    CALL INI_AIRCRAFT_BALLOON(HINIFILE,CLUOUT,XTSTEP, TDTSEG, XSEGLEN, NRR, NSV,  &
                              IKU,CTURB=="TKEL" ,                                 &
                              XLATORI, XLONORI                                    )
    !
    !-------------------------------------------------------------------------------
    !
    
    !*      25.     STATION initializations
    
    !              -----------------------
    !
    CALL INI_SURFSTATION_n(CLUOUT,XTSTEP, TDTSEG, XSEGLEN, NRR, NSV,  &
                           CTURB=="TKEL" ,                            &
                           XLATORI, XLONORI                           )
    !
    !-------------------------------------------------------------------------------
    !
    
    !*      26.     PROFILER initializations
    
    !              ------------------------
    !
    CALL INI_POSPROFILER_n(CLUOUT,XTSTEP, TDTSEG, XSEGLEN, NRR, NSV,  &
                           CTURB=="TKEL",                             &
                           XLATORI, XLONORI                           )
    !
    !-------------------------------------------------------------------------------
    !
    !*      28.     Prognostic aerosols          
    !              ------------------------
    !
    CALL INI_AEROSET1
    CALL INI_AEROSET2
    CALL INI_AEROSET3
    CALL INI_AEROSET4
    CALL INI_AEROSET5
    CALL INI_AEROSET6
    
    #ifdef MNH_FOREFIRE
    ! 
    !-------------------------------------------------------------------------------
    
    !*      29.    FOREFIRE initializations
    !              ------------------------
    !
    
    ! Coupling with ForeFire if resolution is low enough
    !---------------------------------------------------
    IF ( LFOREFIRE .AND. 0.5*(XXHAT(2)-XXHAT(1)+XYHAT(2)-XYHAT(1)) < COUPLINGRES ) THEN
    	FFCOUPLING = .TRUE.	
    ELSE
    	FFCOUPLING = .FALSE.
    ENDIF
    
    ! Initializing the ForeFire variables
    !------------------------------------
    IF ( LFOREFIRE ) THEN
    	CALL INIT_FOREFIRE_n(KMI, ILUOUT, IP &
    		, TDTCUR%TDATE%YEAR, TDTCUR%TDATE%MONTH, TDTCUR%TDATE%DAY, TDTCUR%TIME, XTSTEP)
    END IF
    #endif
    
    
    END SUBROUTINE INI_MODEL_n