Changeset 8712 for branches/ORCHIDEE_2_2


Ignore:
Timestamp:
2024-11-10T11:00:15+01:00 (2 weeks ago)
Author:
jan.polcher
Message:

Brought the defitions of the grid type in agreement with the latest versions of WRF. That essentially exchanges the code between LatLon? and Cassini. This change impacts the few users who have forcing data on a Cassini projection. They are already informed of the change.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_global/grid.f90

    r7259 r8712  
    735735    REAL(r_std)                :: user_stand_lon, user_truelat1, user_truelat2, user_dxkm, user_dykm 
    736736    REAL(r_std)                :: user_dlat, user_dlon, user_known_x, user_known_y, user_known_lat, user_known_lon 
     737    REAL(r_std)                :: user_lon0, user_lat0, proj_known_lon, proj_known_lat 
    737738    REAL(r_std), DIMENSION(16) :: corner_lons, corner_lats 
    738739    ! 
     
    768769    iret = NF90_GET_ATT(fid, NF90_GLOBAL, "DX", user_dxkm) 
    769770    iret = NF90_GET_ATT(fid, NF90_GLOBAL, "DY", user_dykm) 
    770     user_dlat = undef 
    771     user_dlon = undef 
     771    ! 
     772    user_dlat = user_dykm/(R_Earth * pi * 2.0 / 360.0) 
     773    user_dlon = user_dxkm/(R_Earth * pi * 2.0 / 360.0) 
     774    ! 
     775    iret = NF90_GET_ATT(fid, NF90_GLOBAL, "POLE_LON", user_lon0) 
     776    iret = NF90_GET_ATT(fid, NF90_GLOBAL, "POLE_LAT", user_lat0) 
     777 
     778     
    772779    ! 
    773780    IF ( current_proj == PROJ_LATLON ) THEN 
     
    851858        
    852859    else if (current_proj == PROJ_CASSINI) then 
    853        call ipslerr(3,"grid_initproj",'Should not have PROJ_CASSINI as projection for', & 
    854             'source data in push_source_projection()', " ") 
    855         
     860       CALL rotate_coords(user_known_lat, user_known_lon, proj_known_lat, & 
     861            proj_known_lon, user_lat0, user_lon0, user_stand_lon, -1) 
     862       CALL map_set(current_proj, proj_stack(idom), & 
     863            loninc=user_dlon, & 
     864            latinc=user_dlat, & 
     865            lat1=user_known_lat, & 
     866            lon1=user_known_lon, & 
     867            lat0=user_lat0 ,& 
     868            lon0=user_lon0 ,& 
     869            knowni=user_known_x, & 
     870            knownj=user_known_y, & 
     871            stdlon=user_stand_lon, & 
     872            r_earth=R_Earth) 
     873 
    856874    else if (current_proj == PROJ_LC) then 
    857875       call map_set(current_proj, proj_stack(idom), & 
Note: See TracChangeset for help on using the changeset viewer.