New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 5704 for branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/TOOLS – NEMO

Ignore:
Timestamp:
2015-08-21T15:00:38+02:00 (9 years ago)
Author:
mattmartin
Message:

Updated simplified obs operator after testing sea-ice concentration and velocity data types.

Location:
branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/TOOLS/OBSTOOLS/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/TOOLS/OBSTOOLS/src/fbgenerate.F90

    r4990 r5704  
    219219      CALL set_spatial_coords_grid(lats,lons,nobs,nlats,nlons,FillValue_real) 
    220220   ELSE 
    221       CALL set_spatial_coords(lats,lons,nobs,FillValue_real) 
     221      CALL set_spatial_coords(lats,lons,nobs,nlats,nlons,FillValue_real) 
    222222   END IF 
    223223    
  • branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/TOOLS/OBSTOOLS/src/fbgenerate_coords.F90

    r4990 r5704  
    2626 
    2727 
    28    SUBROUTINE set_spatial_coords(lats,lons,n,FillVal) 
     28   SUBROUTINE set_spatial_coords(lats,lons,n,nlats,nlons,FillVal) 
    2929   IMPLICIT NONE   
    3030   INTEGER :: i, j, k, p, nlats, nlons, nlats_in_list, nlons_in_list 
     
    436436               array(j,:,k) = array(j,1,k) 
    437437            END DO 
    438              
     438         ! If single depth and only first profile has a value then set the rest based on that 
     439         ELSE IF ((n > 1) .AND. (m == 1) .AND. (array(1,2,k) == FillVal)) THEN 
     440                 array(1,2:,k) = array(1,1,k) 
    439441         ELSE  
    440442            array(:,:,k) = array(:,:,k) 
  • branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/TOOLS/OBSTOOLS/src/test_fbgenerate.F90

    r4990 r5704  
    392392   lat_array_out(:) = (/1.0_fbdp/) 
    393393   lon_array_out(:) = (/1.0_fbdp/) 
    394    CALL set_spatial_coords(lat_array_in,lon_array_in,1,FV_real) 
     394   CALL set_spatial_coords(lat_array_in,lon_array_in,1,1,1,FV_real) 
    395395   okay = test_arrays(lat_array_in,lat_array_out) 
    396396   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    417417   lat_array_out(:) = (/1.0_fbdp, 1.0_fbdp, 1.0_fbdp, 1.0_fbdp/) 
    418418   lon_array_out(:) = (/1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp/) 
    419    CALL set_spatial_coords(lat_array_in,lon_array_in,4,FV_real) 
     419   CALL set_spatial_coords(lat_array_in,lon_array_in,4,4,4,FV_real) 
    420420   okay = test_arrays(lat_array_in,lat_array_out) 
    421421   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    442442   lat_array_out(:) = (/1.0_fbdp, 1.0_fbdp, 1.0_fbdp/) 
    443443   lon_array_out(:) = (/1.0_fbdp, 2.0_fbdp, 3.0_fbdp/) 
    444    CALL set_spatial_coords(lat_array_in,lon_array_in,3,FV_real) 
     444   CALL set_spatial_coords(lat_array_in,lon_array_in,3,3,3,FV_real) 
    445445   okay = test_arrays(lat_array_in,lat_array_out) 
    446446   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    467467   lat_array_out(:) = (/1.0_fbdp, 1.0_fbdp, 1.0_fbdp, 1.0_fbdp, 1.0_fbdp/) 
    468468   lon_array_out(:) = (/1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp, 5.0_fbdp/) 
    469    CALL set_spatial_coords(lat_array_in,lon_array_in,5,FV_real) 
     469   CALL set_spatial_coords(lat_array_in,lon_array_in,5,5,5,FV_real) 
    470470   okay = test_arrays(lat_array_in,lat_array_out) 
    471471   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    492492   lat_array_out(:) = (/1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp, 5.0_fbdp/) 
    493493   lon_array_out(:) = (/1.0_fbdp, 1.0_fbdp, 1.0_fbdp, 1.0_fbdp, 1.0_fbdp/) 
    494    CALL set_spatial_coords(lat_array_in,lon_array_in,5,FV_real) 
     494   CALL set_spatial_coords(lat_array_in,lon_array_in,5,5,5,FV_real) 
    495495   okay = test_arrays(lat_array_in,lat_array_out) 
    496496   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    517517   lat_array_out(:) = (/1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp, 5.0_fbdp/) 
    518518   lon_array_out(:) = (/1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp, 5.0_fbdp/) 
    519    CALL set_spatial_coords(lat_array_in,lon_array_in,5,FV_real) 
     519   CALL set_spatial_coords(lat_array_in,lon_array_in,5,5,5,FV_real) 
    520520   okay = test_arrays(lat_array_in,lat_array_out) 
    521521   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    559559                        10.0_fbdp, 20.0_fbdp, 30.0_fbdp, 40.0_fbdp, 50.0_fbdp,& 
    560560                        10.0_fbdp, 20.0_fbdp, 30.0_fbdp, 40.0_fbdp, 50.0_fbdp/) 
    561    CALL set_spatial_coords(lat_array_in,lon_array_in,25,FV_real) 
     561   CALL set_spatial_coords(lat_array_in,lon_array_in,25,25,25,FV_real) 
    562562   okay = test_arrays(lat_array_in,lat_array_out) 
    563563   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    601601                        10.0_fbdp, 20.0_fbdp, 30.0_fbdp, 40.0_fbdp, 50.0_fbdp,& 
    602602                        10.0_fbdp, 20.0_fbdp, 30.0_fbdp, 40.0_fbdp, 50.0_fbdp/) 
    603    CALL set_spatial_coords(lat_array_in,lon_array_in,25,FV_real) 
     603   CALL set_spatial_coords(lat_array_in,lon_array_in,25,25,25,FV_real) 
    604604   okay = test_arrays(lat_array_in,lat_array_out) 
    605605   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    628628   lat_array_out(:) = (/1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp, 5.0_fbdp/) 
    629629   lon_array_out(:) = (/10.0_fbdp, 20.0_fbdp, 30.0_fbdp, 40.0_fbdp, 50.0_fbdp/) 
    630    CALL set_spatial_coords(lat_array_in,lon_array_in,5,FV_real) 
     630   CALL set_spatial_coords(lat_array_in,lon_array_in,5,5,5,FV_real) 
    631631   okay = test_arrays(lat_array_in,lat_array_out) 
    632632   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    655655   lat_array_out(:) = (/10.0_fbdp, 20.0_fbdp, 30.0_fbdp, 40.0_fbdp, 50.0_fbdp/) 
    656656   lon_array_out(:) = (/1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp, 5.0_fbdp/) 
    657    CALL set_spatial_coords(lat_array_in,lon_array_in,5,FV_real) 
     657   CALL set_spatial_coords(lat_array_in,lon_array_in,5,5,5,FV_real) 
    658658   okay = test_arrays(lat_array_in,lat_array_out) 
    659659   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    698698                        1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp, 5.0_fbdp,& 
    699699                        1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp, 5.0_fbdp/) 
    700    CALL set_spatial_coords(lat_array_in,lon_array_in,25,FV_real) 
     700   CALL set_spatial_coords(lat_array_in,lon_array_in,25,25,25,FV_real) 
    701701   okay = test_arrays(lat_array_in,lat_array_out) 
    702702   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    724724   lat_array_out(:) = (/1.0_fbdp, 1.0_fbdp, 1.0_fbdp, 1.0_fbdp, 1.0_fbdp/) 
    725725   lon_array_out(:) = (/1.0_fbdp, 2.0_fbdp, 3.0_fbdp, 4.0_fbdp, 5.0_fbdp/) 
    726    CALL set_spatial_coords(lat_array_in,lon_array_in,5,FV_real) 
     726   CALL set_spatial_coords(lat_array_in,lon_array_in,5,5,5,FV_real) 
    727727   okay = test_arrays(lat_array_in,lat_array_out) 
    728728   okay_too = test_arrays(lon_array_in,lon_array_out) 
     
    764764                        10.0_fbdp, 20.0_fbdp, 30.0_fbdp, 40.0_fbdp,& 
    765765                        10.0_fbdp, 20.0_fbdp, 30.0_fbdp, 40.0_fbdp/) 
    766    CALL set_spatial_coords(lat_array_in,lon_array_in,20,FV_real) 
     766   CALL set_spatial_coords(lat_array_in,lon_array_in,20,20,20,FV_real) 
    767767   okay = test_arrays(lat_array_in,lat_array_out) 
    768768   okay_too = test_arrays(lon_array_in,lon_array_out) 
Note: See TracChangeset for help on using the changeset viewer.