source: LMDZ5/branches/testing/libf/phydev/phyetat0.F90 @ 5440

Last change on this file since 5440 was 2408, checked in by Laurent Fairhead, 9 years ago

Merged trunk changes r2298:2396 into testing branch

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 2.2 KB
RevLine 
[1686]1!
2! $Id $
3!
[2408]4SUBROUTINE phyetat0(fichnom)
[1686]5! Load initial state for the physics
6! and do some resulting initializations
7
[2408]8  USE dimphy, only: klon
9  USE iostart, ONLY : open_startphy,get_field,close_startphy
10  USE iophy, ONLY : init_iophy_new
11  USE geometry_mod, ONLY : longitude_deg, latitude_deg
[1686]12
[2408]13  IMPLICIT NONE
[1686]14
[2408]15  CHARACTER(len=*),INTENT(in) :: fichnom ! input file name
[1686]16
[2408]17  REAL :: lon_startphy(klon), lat_startphy(klon)
18  INTEGER :: i
[1686]19
[2408]20  ! open physics initial state file:
21  CALL open_startphy(fichnom)
[1686]22
[2408]23  ! read latitudes and make a sanity check (because already known from dyn)
24  CALL get_field("latitude",lat_startphy)
25  DO i=1,klon
26    IF (ABS(lat_startphy(i)-latitude_deg(i))>=1) THEN
27      WRITE(*,*) "phyetat0: Error! Latitude discrepancy wrt startphy file:",&
28                 " i=",i," lat_startphy(i)=",lat_startphy(i),&
29                 " latitude_deg(i)=",latitude_deg(i)
30      ! This is presumably serious enough to abort run
31      CALL abort_physic("phyetat0","discrepancy in latitudes!",1)
32    ENDIF
33    IF (ABS(lat_startphy(i)-latitude_deg(i))>=0.0001) THEN
34      WRITE(*,*) "phyetat0: Warning! Latitude discrepancy wrt startphy file:",&
35                 " i=",i," lat_startphy(i)=",lat_startphy(i),&
36                 " latitude_deg(i)=",latitude_deg(i)
37    ENDIF
38  ENDDO
[1686]39
[2408]40  ! read longitudes and make a sanity check (because already known from dyn)
41  CALL get_field("longitude",lon_startphy)
42  DO i=1,klon
43    IF (ABS(lon_startphy(i)-longitude_deg(i))>=1) THEN
44      WRITE(*,*) "phyetat0: Error! Longitude discrepancy wrt startphy file:",&
45                 " i=",i," lon_startphy(i)=",lon_startphy(i),&
46                 " longitude_deg(i)=",longitude_deg(i)
47      ! This is presumably serious enough to abort run
48      CALL abort_physic("phyetat0","discrepancy in longitudes!",1)
49    ENDIF
50    IF (ABS(lon_startphy(i)-longitude_deg(i))>=0.0001) THEN
51      WRITE(*,*) "phyetat0: Warning! Longitude discrepancy wrt startphy file:",&
52                 " i=",i," lon_startphy(i)=",lon_startphy(i),&
53                 " longitude_deg(i)=",longitude_deg(i)
54    ENDIF
55  ENDDO
[1686]56
[2408]57  ! read in other variables here ...
[1686]58
[2408]59  ! close file
60  CALL close_startphy
[1686]61
[2408]62  ! do some more initializations
63  CALL init_iophy_new(latitude_deg,longitude_deg)
64
65END SUBROUTINE phyetat0
Note: See TracBrowser for help on using the repository browser.