Skip to content

Instantly share code, notes, and snippets.

View ali-ramadhan's full-sized avatar

Ali Ramadhan ali-ramadhan

View GitHub Profile
@ali-ramadhan
ali-ramadhan / getperts.F
Last active December 2, 2020 00:25
This code generates two-dimensional analytic perturbation fields. These perturbations can be used, for example, to initialize idealized numerical model simulations. The methodology is described in Bryan et al. (2007, JAS, p. 1249, section 4a); see also Knievel et al. (2007, MWR, 3808, section 2f). https://www2.mmm.ucar.edu/people/bryan/Code/getp…
PROGRAM getperts
use singleton
implicit none
!-----------------------------------------------------------------------
!
! getperts: Version 1.04 Last modified: 12 October 2008
!
! Author: George H. Bryan
! Mesoscale and Microscale Meteorology Division
@ali-ramadhan
ali-ramadhan / eki_example.jl
Last active December 22, 2020 17:44
Ensemble Kalman inversion example by @sandreza using CalibrateEmulateSample.jl
using Distributions
using LinearAlgebra
using Random
using Test
using Plots
using CalibrateEmulateSample.EKP
using CalibrateEmulateSample.ParameterDistributionStorage
## Seed for pseudo-random number generator
using KernelAbstractions
using OffsetArrays
using AMDGPU
using ROCKernels
using Test
import KernelAbstractions: Event
using ROCKernels: ROCEvent
function Event(::ROCDevice)
ERROR: LoadError: TaskFailedException
Stacktrace:
[1] wait
@ ./task.jl:345 [inlined]
[2] wait
@ ~/.julia_NeuralDoubleGyre/packages/KernelAbstractions/3ZHln/src/cpu.jl:65 [inlined]
[3] wait(::KernelAbstractions.CPU, ev::KernelAbstractions.CPUEvent)
@ KernelAbstractions ~/.julia_NeuralDoubleGyre/packages/KernelAbstractions/3ZHln/src/cpu.jl:64
[4] fill_halo_event!(::Int64, ::Tuple{Vector{Function}, Vector{Tuple{BoundaryCondition{C, Nothing} where C<:Oceananigans.BoundaryConditions.AbstractBoundaryConditionClassification, Any, BoundaryCondition{C, Nothing} where C<:Oceananigans.BoundaryConditions.AbstractBoundaryConditionClassification, BoundaryCondition{Oceananigans.BoundaryConditions.Flux, Nothing}}}, Vector{Tuple{BoundaryCondition{C, Nothing} where C<:Oceananigans.BoundaryConditions.AbstractBoundaryConditionClassification, Any, BoundaryCondition{C, Nothing} where C<:Oceananigans.BoundaryConditions.AbstractBoundaryConditionClassification, BoundaryCondition{Oceananigans.BoundaryConditions.Flu