Skip to content

Commit e150406

Browse files
authored
Merge pull request #797 from alanjyu/chapman_geotherm
Implement continental geotherm from Chapman (1986)
2 parents dd9128f + f9876d8 commit e150406

File tree

9 files changed

+945
-54
lines changed

9 files changed

+945
-54
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
1515
- There is now a CMake variable to automatically update the reference files for failed tests (gdb-dat and gwb-grid tests) \[Menno Fraters; 2024-10-20; [#761](https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/761)\]
1616
- There is now a properties_output_size function, which returns the size of the output vector/array returned by the properties functions for a given properties input vector \[Menno Fraters; 2024-10-27; [#765](https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/765)\]
1717
- Added 2d and 3d versions of the properties function to the C wrapper \[Menno Fraters; 2024-10-27; [#765](https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/765)\]
18+
- Added continental geotherm from Chapman (1986) for the Temperature Model in Continental Plate \[Alan Yu; 2025-01-21; [#778](https://github.com/GeodynamicWorldBuilder/WorldBuilder/issues/778), [#797](https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/797)\]
1819

1920
### Changed
2021
- The tian2019 composition model now returns a mass fraction instead of a mass percentage. \[Daniel Douglas; 2024-11-12; [#767](https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/767)\]

doc/world_builder_declarations.schema.json

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,144 @@
505505
}
506506
}
507507
},
508+
{
509+
"type": "object",
510+
"description": "Continental geotherm using the steady-state 1-D heat conduction equation from Chapman (1986).",
511+
"additionalProperties": false,
512+
"required": [
513+
"model"
514+
],
515+
"properties": {
516+
"model": {
517+
"default value": "",
518+
"type": "string",
519+
"description": "The name of the temperature model.",
520+
"enum": [
521+
"chapman"
522+
]
523+
},
524+
"operation": {
525+
"default value": "replace",
526+
"type": "string",
527+
"description": "Whether the value should replace any value previously defined at this location (replace), add the value to the previously define value (add) or subtract the value to the previously define value (subtract).",
528+
"enum": [
529+
"replace",
530+
"add",
531+
"subtract"
532+
]
533+
},
534+
"top temperature": {
535+
"default value": 293.15,
536+
"type": "number",
537+
"description": "The temperature at the top surface in K of this feature.If the value is below zero, then an adiabatic temperature is used."
538+
},
539+
"top heat flux": {
540+
"default value": 0.055,
541+
"type": "number",
542+
"description": "The heat flux at the top surface in W m^(-2) of this feature.The default value is 0.055."
543+
},
544+
"thermal conductivity": {
545+
"default value": 2.5,
546+
"type": "number",
547+
"description": "The thermal conductivity in W m^(-1) K^(-1) of this feature.The default value is 2.5."
548+
},
549+
"heat generation per unit volume": {
550+
"default value": 0.000001,
551+
"type": "number",
552+
"description": "The heat generation per unit volume in W m^(-3) of this feature.The default value is 1e-6."
553+
},
554+
"min depth": {
555+
"description": "The depth in m from which the composition of this feature is present.",
556+
"oneOf": [
557+
{
558+
"default value": 0.0,
559+
"type": "number",
560+
"description": ""
561+
},
562+
{
563+
"type": "array",
564+
"minItems": 0,
565+
"maxItems": 4294967295,
566+
"uniqueItems": false,
567+
"description": "",
568+
"items": {
569+
"type": "array",
570+
"additionalProperties": false,
571+
"minItems": 1,
572+
"maxItems": 2,
573+
"description": "",
574+
"items": {
575+
"anyOf": [
576+
{
577+
"type": "number",
578+
"default value": 0.0
579+
},
580+
{
581+
"type": "array",
582+
"minItems": 1,
583+
"maxItems": 4294967295,
584+
"items": {
585+
"type": "array",
586+
"minItems": 1,
587+
"maxItems": 2,
588+
"items": {
589+
"type": "number"
590+
}
591+
}
592+
}
593+
]
594+
}
595+
}
596+
}
597+
]
598+
},
599+
"max depth": {
600+
"description": "The depth in m to which the composition of this feature is present.",
601+
"oneOf": [
602+
{
603+
"default value": 1.7976931348623157e308,
604+
"type": "number",
605+
"description": ""
606+
},
607+
{
608+
"type": "array",
609+
"minItems": 0,
610+
"maxItems": 4294967295,
611+
"uniqueItems": false,
612+
"description": "",
613+
"items": {
614+
"type": "array",
615+
"additionalProperties": false,
616+
"minItems": 1,
617+
"maxItems": 2,
618+
"description": "",
619+
"items": {
620+
"anyOf": [
621+
{
622+
"type": "number",
623+
"default value": 1.7976931348623157e308
624+
},
625+
{
626+
"type": "array",
627+
"minItems": 1,
628+
"maxItems": 4294967295,
629+
"items": {
630+
"type": "array",
631+
"minItems": 1,
632+
"maxItems": 2,
633+
"items": {
634+
"type": "number"
635+
}
636+
}
637+
}
638+
]
639+
}
640+
}
641+
}
642+
]
643+
}
644+
}
645+
},
508646
{
509647
"type": "object",
510648
"description": "Linear temperature model. Can be set to use an adiabatic temperature at the boundaries.",

0 commit comments

Comments
 (0)