Transcript
Page 1: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

ean M od

earch C o m

r a i n - F o l l o w

M o d e l i n g

4D Variational Data Assimilation4D Variational Data AssimilationObservation OperatorsObservation Operators

4D Variational Data Assimilation4D Variational Data AssimilationObservation OperatorsObservation Operators

Hernan G. ArangoHernan G. Arango

Page 2: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

ROMS 4DVAR ALGORITHMS

• Strong Constraint Conventional (S4DVAR): outer loop, NLM, ADM Incremental (IS4DVAR): inner and outer loops, NLM, TLM, ADM (Courtier et al.,

1994) IS4DVAR_OLD: inefficient old conjugate gradient algorithm

(is4dvar_ocean_old.h, descent.F) IS4DVAR: new conjugate gradient algorithm, CONGRAD, Fisher 1997

(is4dvar_ocean.h, cgradient.h) IS4DVAR, LANCZOS: conjugate gradient and Lanczos algorithm, Fisher

1997 (is4dvar_ocean_lanczos.h, cgradient_lanczos.h)

• Weak Constraint Indirect Representer Method (W4DVAR): inner and outer loops, NLM, TLM,

RPM, ADM (Egbert et al., 1994; Bennett et al, 1997) Physical Space Statistical Analysis (W4DPSAS): inner and outer loops, NLM,

TLM, ADM (Courtier, 1997)

Page 3: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Strong Constraint, Incremental 4DVAR

Let’s introduce a new minimization variable v, such that:

J(vk) = ½(vk)Tvk + ½(Hxk – dk-1)TO-1(Hxk – dk-1)

v J = vk + BT/2HTO-1(Hxk – dk-1) = vk + BT/2x Jo => vk + W -1/2LT/2GS

B = SCS => S(GL1/2W -1/2)(W

-1/2LT/2G)S

xk = B1/2vk + xk-1 – xb

xk = B-1/2(xk + xk-1 – xb)

yielding

The gradient of J in minimization-space, denoted v J, is given by:

The background-error covariance matrix can be factored as:

where S is the background-error standard deviations, C is the background-error correlations which can be factorized as C = C1/2CT/2, G is the normalization matrix which ensures that the diagonal elements of C are equal to unity, L is a 3D self-adjoint filtering operator, and W is the grid cell area or volume.

Page 4: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Basic IS4DVAR Procedure

(1) Choose an x(0) = xb(0)

(2) Integrate NLROMS t [0, ] and save x(t) (NLM at OBS)

(a) Choose a x(0)

(b) Integrate TLROMS t [0, ] and compute J (TLM at OBS)

(c) Integrate ADROMS t [0, ] to yield (ADM forcing at OBS) (d) Compute

(e) Use a descent algorithm to determine a “down gradient”

correction to x(0) that will yield a smaller value of J

(f) Back to (b) until converged

(3) Compute new x(0) = x(0) + x(0) and back to (2) until converged

Out

er

Loop

Inne

r Lo

op

Page 5: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

• Given a first guess (a forward trajectory)…• And given the available data…

Incremental, Strong Constraint 4DVar(IS4DVAR)

Page 6: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Incremental, Strong Constraint 4DVar(IS4DVAR)

• Given a first guess (a forward trajectory)…• And given the available data…• IS4DVAR computes the changes (or increments) to the

initial conditions so that the forward model fits the observations.

Page 7: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

4DVAR Observations NetCDF 4DVAR Observations NetCDF FileFile

• Utility/obs_initial.F• Utility/obs_read.F• Utility/obs_write.F• Utility/obs_scale.F• Utility/obs_depth.F• Utility/extract_obs.F• Adjoint/ad_extract_obs.F• Adjoint/ad_misfit.F

Page 8: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Metadata

Dimensions:

survey Number of different timeweight Number of interpolation weightdatum Observations counter, unlimited dimension

Variables:

Nobs(survey) Number of observations per time survey survey_time(survey) Survey time (days) obs_type(datum) State variable ID associated with observation obs_time(datum) Time of observation (days) obs_lon(datum) Longitude of observation (degrees_east) obs_lat(datum) Latitude of observation (degrees_north) obs_depth(datum) Depth of observation (meters or level) obs_Xgrid(datum) X-grid observation location (nondimensional) obs_Ygrid(datum) Y-grid observation location (nondimensional) obs_Zgrid(datum) Z-grid observation location (nondimensional) obs_error(datum) Observation error, assigned weight obs_value(datum) Observation value

Page 9: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Observations NetCDFdimensions:

survey = 1 ; tate_variable = 7 ; datum = UNLIMITED ; // (79416 currently)

variables:

char spherical ; spherical:long_name = "grid type logical switch" ; int Nobs(survey) ; Nobs:long_name = "number of observations with the same survey time" ; double survey_time(survey) ; survey_time:long_name = "survey time" ; survey_time:units = "days since 2000-01-01 00:00:00" ; survey_time:calendar = "365.25 days in every year" ; double obs_variance(state_variable) ; obs_variance:long_name = "global (time and space) observation variance" ; obs_variance:units = "squared state variable units" ; int obs_type(datum) ; obs_type:long_name = "model state variable associated with observation" ; obs_type:units = "nondimensional" ; double obs_time(datum) ; obs_time:long_name = "time of observation" ; obs_time:units = "days since 2000-01-01 00:00:00" ; obs_time:calendar = "365.25 days in every year" ; double obs_depth(datum) ; obs_depth:long_name = "depth of observation" ; obs_depth:units = "meter" ; double obs_Xgrid(datum) ; obs_Xgrid:long_name = "x-grid observation location" ; obs_Xgrid:units = "nondimensional" ; double obs_Ygrid(datum) ; obs_Ygrid:long_name = "y-grid observation location" ; obs_Ygrid:units = "nondimensional" ; double obs_Zgrid(datum) ; obs_Zgrid:long_name = "z-grid observation location" ; obs_Zgrid:units = "nondimensional" ; double obs_error(datum) ; obs_error:long_name = "observation error, assigned weight, inverse variance" ; obs_error:units = "inverse squared state variable units" ; double obs_value(datum) ; obs_value:long_name = "observation value" ; obs_value:units = "state variable units" ; 2

1

3

5

4

8

6

7

(i1,j1,k1)

(i2,j2,k2)

Variable IDζ 1u 2v 3u 4v 5

temp 6salt 7

Page 10: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Processing

• Use hindices, try_range and inside routines to transform (lon,lat) to (,)

• Find how many survey times occur within the data set (survey dimension)

• Count observations available per survey (Nobs) and assign their times (survey_time)

• Sort the observation in ascending time order and observation time for efficiency

• Save a copy of the observation file

• Several matlab scripts to process observations

Page 11: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

ROMS GRIDROMS GRID

• Horizontal curvilinear orthogonal coordinates on an Arakawa C-grid

• Terrain-following coordinates on a staggered vertical grid

Page 12: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Curvilinear Transformation

Page 13: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Staggered C-Grid, RHO-points

Page 14: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Staggered C-Grid, U-points

Page 15: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Staggered C-Grid, V-points

Page 16: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Vertical Terrain-following Coordinates

Dubrovnik(Croatia)

Vieste(Italy)

Longitude

Depth(m)

Page 17: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Parabolic Splines Reconstruction

Page 18: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

}

} Nx

Ny

PARALLEL TILE PARTITIONS

8 x 8

Page 19: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

East-West MPI Communications

With RespectTo Tile R

Nonlinear

Adjoint With RespectTo Tile R

ad_V

ad_V

ad_V

ad_V

ad_V

L

L

L

L

R

R

R

R

i

i

i

i

i

i

i

i1 1 11

=

=+ + + +

ad_V

ad_V

+

+

;

;

0

0

=

=

ad_V

ad_V

ad_V

ad_V

ad_V

ad_V

R

R

R

R

L

L

L

L

i

i

i

i

i

i

i

i1 1 11

2 2 2 2=

=

-

-

-

-

-

-

-

-

ad_V

ad_V

+

+

;

;

0

0

=

=

i-2 i-1 i i+1

Istr Iend

Jstr

Jend

i-2 i-1 i i+1

Istr Iend

Jstr

Jend

ad_receive

ArecvE AsendW

ad_send

AsendE ArecvWTILE L TILE R

-

--

-V

VR

R L

L

i i

i i1 1

=

V

V2 2

=

V

V V

VRLii

+1

=

=L Ri +1i

i-2 i-1 i i+1

Istr Iend

Jstr

Jend

i-2 i-1 i i+1

Istr Iend

Jstr

Jend

send

ArecvE AsendW

receive

AsendE ArecvWTILE L TILE R

Page 20: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

ad_V

ad_V

ad_V

ad_V

ad_V

T

T

T

T

B

B

B

B

j

j

j

j

j

j

j

j1 1 11

=

=- - - -

ad_V

ad_V

+

+

;

;

0

0

=

=

ad_V

ad_V

ad_V

ad_V

ad_V

ad_V

B

B

B

B

T

T

T

T

j

j

j

j

j

j

j

j1 1 11

2 2 2 2=

=

+

+

+

+

+

+

+

+

ad_V

ad_V

+

+

;

;

0

0

=

=

j+2

j+1

j

j-1Jend

Jstr

Istr Iend

j+2

j+1

j

j-1

Jend

Jstr

Istr Iend

ad_receive

ArecvS

AsendN

ad_send

AsendS

ArecvN

TILE B

TILE T

V

V V

V BTjj

-1

=

=T Bj -1j

+

++

+V

VB

B T

T

j j

j j1 1

=

V

V2 2

=

j+2

j+1

j

j-1Jend

Jstr

Istr Iend

j+2

j+1

j

j-1

Jend

Jstr

Istr Iend

send

ArecvS

AsendN

receive

AsendS

ArecvN

TILE B

TILE T

North-South MPI CommunicationsN

onlin

ear

Adjo

int

With Respect to Tile B

Page 21: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Observations

Page 22: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

L o n g B e a c h

B e a c h H a v e n

K ilo m ete rs

0 1 2

L itt le E g g In le t

C a b l e

N o d e AN ode B

L E O -1 5 R es ea rch

A rea

B r ig a n tin e

F ie ld S t a t io n

Mullica R iver

G r e a t

B a y

L E O -15 R esearch S ta tion s

B rigan tin eIn let

L an d andW etla nds1 m ete r 3 m ete rs6 m e ters10 m ete rs14 m ete rs16 m e ters18 m eters22 m ete rs

D ep th

LEO-15 LEO NJSOS

Longterm Ecosystem Observatory

30km x 30km 1998-2001

New Jersey ShelfObserving System

Satellites, Aircraft, SurfaceRADAR, Glider AUVs 300km x 300km

Beginning 2001

RUTGERSTHE STATE UNIVERSITY OF NEW JERSEY

3km x 3km1996-Present

Station Field

Page 23: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Assumptions

• All scalar observations are assumed to be at RHO-points.

• All vector observations are assumed to be rotated to curvilinear grid, if applicable. Vector observations are always measured at the same location.

• All observation horizontal locations are assumed to be in fractional curvilinear grid coordinates.

• Vertical locations can be in fractional levels (1:N) or actual depths (negative values).

• Removal of tidal signal?

• Filtering of non-resolved processes?

Page 24: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Observation Operators

• Currently, all observations must be in terms of model state variables (same units):– 2D configuration: zeta, ubar, vbar

– 3D configuration: zeta, u, v, T, S, …

• There is not a time interpolation of model solution at observation times:

time - 0.5*dt < ObsTime < time + 0.5*dt

• There is not observations quality control (screening) inside ROMS, except ObsScale.

• No observation constraints are implemented (Satellite SST measurements)

Page 25: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Observation Interpolation

• Only spatial linear interpolation is coded.

• If land/sea masking, the interpolation coefficients are weighted by the mask.

• If shallower than z_r(:,:,N), observations are assigned to the surface level.

• If deeper than z_r(:,:,1), observations are assigned to bottom level.

Page 26: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Recommedations

• Create a NetCDF file for each observation type.

• Use a processing program to meld NetCDF observation files (nc_4dvar_meld.m).

• Keep a master copy of each observation file, in case that you are running your application at different resolutions.

• Decimation of observations. Finite volume representation?

Page 27: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

BACKGOUNDERROR COVARIANCE

Page 28: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Model/Background Error Covariance, B

• Use a generalized diffusion squared-root operator (symmetric) as in Weaver et al. (2003):

B = S C S = S (G L1/2

W-1/2

) (W-1/2

LT/2

G)

• The normalization matrix, G, ensure that the diagonal elements of the correlation matrix, C, are equal to unity. They are computed using the exact (expensive) or randomization (cheaper) methods.

• The spatial convolution of the self-adjoint filtering operator, L1/2

, is split in horizontal and vertical components and discretized both explicitly and implicitly.

• The model/background standard deviation matrix, S, is computed from long (monthly, seasonal) simulations.

• The grid cell area or volume matrix, W-1/2

, is assumed to be time invariant.

Page 29: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Model/Background Error Correlation (C)

Horizontal

Hdecay = 100 km

Vdecay = 100 m

Vertical (implicit)

Page 30: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

Model/Background Error Correlation NormalizationCoefficients (G)

SSH Temperature

Bottom Level

EAC EAC

Page 31: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

job_is4dvar.sh

Page 32: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

build.sh

Page 33: 4D Variational Data Assimilation Observation Operators 4D Variational Data Assimilation Observation Operators Hernan G. Arango

s4dvar.in


Recommended