diff --git a/CHANGELOG b/CHANGELOG index 7792759c4bc9e396164dfe9a8a7d535aff048e26..669467266b8355f6611de1fef7f3a1395e606cf3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,16 @@ +2018-08-21 Axel Schnitger <axel.schnitger@aei.mpg.de> + + * CHANGELOG, README.md, + function_gfr/batch_processor_partitioned.m: Update documentation. + + * commit 072c386874e366e6c23641cc45db2dea75b6f047 + +2018-08-20 Axel Schnitger <axel.schnitger@aei.mpg.de> + + * CHANGELOG: Add CHANGELOG. + + * commit 29983b4997d3999bec01f0a8fe56ac37586825e7 + 2018-08-20 Axel Schnitger <axel.schnitger@aei.mpg.de> * README.md, continue_gfr_par_from_iteration.m, get_input_data.sh: diff --git a/README.md b/README.md index 852ccd58ce4060136e9c1fa140c9f3b7a0f51b80..b1ebcbca524bc146d06a2b319dedfcdc7cc1bfd2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Overview -GRACETOOLS is an archive of MATLAB software that can be used for gravity field +GRACETOOLS is a collection of MATLAB scripts that can be used for gravity field recovery using GRACE type satellite observations. **Features** @@ -14,48 +14,45 @@ recovery using GRACE type satellite observations. - This code can be easily modified to run on the user's local parallel computations clusters. -## Content +**Content** <!-- vim-markdown-toc GitLab --> * [Usage](#usage) - * [Example dataset](#example-dataset) - * [Linux & Mac](#linux-mac) - * [Manually](#manually) * [Performance](#performance) * [Files](#files) -* [Acknowledgments](#acknowledgments) * [Contributors](#contributors) <!-- vim-markdown-toc --> -## Usage +GRACETOOLS is open source software and licensed under +[GPLv3](https://gitlab.aei.uni-hannover.de/geoq/gracetools/blob/master/LICENSE). +Please reference this article if you use GRACETOOLS: + +**Darbeheshti N., Wöske F., Weigelt M., McCullough C., Wu H. (2018) GRACETOOLS - GRACE gravity field recovery tools, Geosciences.** -The main m-files to run are: `gfr_parallel.m` and -`continue_gfr_par_from_iteration.m`. -### Example dataset +## Usage -To be able to run these scripts you need an example data-set. +The main m-files to run are: -#### Linux & Mac +- `gfr_parallel.m` +- `continue_gfr_par_from_iteration.m` -If you're working with Linux or MacOS simply use the `get_input_data.sh` script -to get the dataset: +You need an example dataset to run these scripts. If you're on Linux or MacOS +use the `get_input_data.sh` script to get the dataset: ``` $ ./get_input_data.sh ``` -#### Manually - -Download the following dataset: +If you prefer the manual way download the dataset: - [Download dataset](https://seafile.projekt.uni-hannover.de/f/3ee8fef6c6cb485489b4/?dl=1) -Move the dataset into the `input_data` directory and extract it. Then delete -the `input_data.zip` file. In a terminal the commands look like this from the -GRACETOOLS main directory: +Move the zip file into the `input_data` directory, extract it and delete the +now unnecessary `input_data.zip` file. For completeness here are the terminal +commands: ``` $ mv ~/Downloads/input_data.zip input_data/ @@ -64,14 +61,7 @@ $ unzip input_data.zip $ rm -f input_data.zip ``` -Again from the GRACETOOLS main directory you can check the directory structure -of the input_data/ directory with the following command: - -``` -$ tree input_data/ -``` - -The output should look like this: +The directory structure of `input_data/` should look like this: ``` input_data @@ -96,55 +86,62 @@ input_data └── GGM05S.gfc ``` - ## Performance -With an older intel i5 (4 cores) a test case with degree and order 10 with 4 +With an older Intel i5 (4 cores) a test case with degree and order 10 with 4 days of observation, each iteration takes about 1h 10min. ## Files -| m-file | Description | -| :------------------------------ | :-------------------------------------------------------------------------------------------------------------------- | -| `batch_processor_partitioned.m` | batch processing algorithm for GRACE range-rate observations. | -| `cs2sc.m` | converts the square containing spherical harmonics coefficients storage format into a rectangular format. | -| `cs2vec` | rearranges a field of spherical harmonic coefficients in cs-or sc-format to a vector shape. | -| `deriv.m` | calculates equation of motion and all partials. | -| `dv_geoidn.m` | reads an Earth's gravity field model and plots the degree variances. | -| `dv_geoidn_no_plot` | reads an Earth's gravity field model and gives the degree variances without plotting. | -| `grtenpshs.m` | calculates the gradient and the tensor of the gravity field. | -| `hmat.m` | makes the Hi_tilda matrix. | -| `importGravityField.m` | import numeric data from a text file as a matrix. | -| `initplm.m` | initialzes a plm calculation. | -| `inter_sat_dist.m` | calculates range and range rate from position and velocity. | -| `llpartialgradV.m` | determines the partial derivative of the gradient of the gravity field w.r.t. the coefficients. | -| `multmatvek.m` | mulitplicates a matrix and a vector. | -| `odeint.m` | integrates one step with step size dt from t0 and initial values y0. | -| `odeint_abm.m` | integrates one step with step size h from t0 and initial values y0. | -| `odeint_dp8.m` | integrates one step with step size h from t0 and initial values y0 with Runge-Kutta (RK) integrator. | -| `odeint_dp8_abm_init.m` | integrates one step with step size h from t0 and initial values y0 with Runge-Kutta (RK) integrator. | -| `odeint_rk4.m` | integrates one step with step size h from t0 and initial values y0 with simple 4th order Runge-Kutta (RK) integrator. | -| `odeint_rk4_abm_init.m` | integrates one step with step size h from t0 and initial values y0 with simple 4th order Runge-Kutta (RK) integrator. | -| `plm.m` | fully normalized associated Legendre functions for a selected order M. | -| `plmsp.m` | fully normalized associated Legendre functions for all degree and order but in a single points. | -| `readACC.m` | Read GRACE ACC1B data | -| `readGFC.m` | Read gfc files | -| `readGNV.m` | Read GRACE GNV1B data | -| `readKBR.m` | Read GRACE KBR1B data | -| `readSCA.m` | Read GRACE SCA1B data | -| `Ri2e.m` | returns the rotation matrix from an inertial frame to an Earth-fixed coordinate system. | -| `Ri2e_dot.m` | returns the derivative of the rotation matrix from inertial frame to an Earth-fixed Earth-centered coordinate system. | -| `save_vars2continue_itr.m` | save all important variables of a gravity estimation. | -| `vec2cs.m` | rearranges a vector shaped set of spherical harmonic coefficients into cs-format. | - -## Acknowledgments - -- GRACETOOLS is open source software (LICENSE GPLv3). -- Please reference this article if you use GRACETOOLS: - -``` -Darbeheshti N., Wöske F., Weigelt M., Mccullough C., Wu H. (2018) GRACETOOLS - GRACE gravity field recovery tools, Geosciences. -``` +- `batch_processor_partitioned.m` - batch processing algorithm for GRACE + range-rate observations +- `cs2sc.m`- converts the square containing spherical harmonics coefficients + storage format into a rectangular format +- `cs2vec`- rearranges a field of spherical harmonic coefficients in cs-or + sc-format to a vector shape +- `deriv.m`- calculates equation of motion and all partials +- `dv_geoidn.m`- reads an Earth's gravity field model and plots the degree + variances +- `dv_geoidn_no_plot`- reads an Earth's gravity field model and gives the + degree variances without plotting +- `grtenpshs.m`- calculates the gradient and the tensor of the gravity field +- `hmat.m`- makes the Hi_tilda matrix +- `importGravityField.m`- import numeric data from a text file as a matrix +- `initplm.m`- initializes a plm calculation +- `inter_sat_dist.m`- calculates range and range rate from position and + velocity +- `llpartialgradV.m`- determines the partial derivative of the gradient of the + gravity field w.r.t. the coefficients +- `multmatvek.m`- mulitplicates a matrix and a vector +- `odeint.m`- integrates one step with step size dt from t0 and initial values + y0 +- `odeint_abm.m`- integrates one step with step size h from t0 and initial + values y0 +- `odeint_dp8.m`- integrates one step with step size h from t0 and initial + values y0 with Runge-Kutta (RK) integrator +- `odeint_dp8_abm_init.m`- integrates one step with step size h from t0 and + initial values y0 with Runge-Kutta (RK) integrator +- `odeint_rk4.m`- integrates one step with step size h from t0 and initial + values y0 with simple 4th order Runge-Kutta (RK) integrator +- `odeint_rk4_abm_init.m`- integrates one step with step size h from t0 and + initial values y0 with simple 4th order Runge-Kutta (RK) integrator +- `plm.m`- fully normalized associated Legendre functions for a selected order + M +- `plmsp.m`- fully normalized associated Legendre functions for all degree and + order but in a single points +- `readACC.m`- Read GRACE ACC1B +- `readGFC.m`- Read GFC file +- `readGNV.m`- Read GRACE GNV1B +- `readKBR.m`- Read GRACE KBR1B +- `readSCA.m`- Read GRACE SCA1B +- `Ri2e.m`- returns the rotation matrix from an inertial frame to an + Earth-fixed coordinate system +- `Ri2e_dot.m`- returns the derivative of the rotation matrix from inertial + frame to an Earth-fixed Earth-centered coordinate system +- `save_vars2continue_itr.m`- save all important variables of a gravity + estimation +- `vec2cs.m`- rearranges a vector shaped set of spherical harmonic coefficients + into cs-format ## Contributors diff --git a/function_gfr/batch_processor_partitioned.m b/function_gfr/batch_processor_partitioned.m index a8e174b098c7257a08bf7e73d68bb76d801877d3..07776113fef54b406288958ffb0c63a620fde3a4 100644 --- a/function_gfr/batch_processor_partitioned.m +++ b/function_gfr/batch_processor_partitioned.m @@ -1,10 +1,11 @@ function batch_processor_partitioned(Mday,FolderName,lmaxcs,mKBR,field,data_plm,GM,ae,lmaxf,state,timeKBR,observation,x0x) -% Batch processing algorithm for GRACE range-rate observations. -% separation between local and global parameters, which are estimated for -% different arcs. E.g. Initial states daily and spherical harmonics -% coefficients for the whole time. Using Partitioned Normal Equations -% based on: +% BATCH_PROCESSOR_PARTITIONED provides a batch processing algorithm for GRACE +% range-rate observations. +% +% Separation between local and global parameters, which are estimated for +% different arcs. E.g. Initial states daily and spherical harmonics +% coefficients for the whole time. Using Partitioned Normal Equations based on: % - Gunter's MSc(2000)thesis, page 27 % - Statistical Orbit Determination (Tapley et al., 2004), page 196-197 % @@ -23,7 +24,7 @@ function batch_processor_partitioned(Mday,FolderName,lmaxcs,mKBR,field,data_plm, % x0x = state deviation [12x1] % % Output: function has no output, output is saved in file for easy -% paralleization +% parallelization % % Example: see gfr_parallel.m %